Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Systemmenü anzeigen lassen (https://www.delphipraxis.net/20812-systemmenue-anzeigen-lassen.html)

c113plpbr 23. Apr 2004 15:46


Systemmenü anzeigen lassen
 
Ich möchte gerne das SystemMenu (also das menü, das bei ner Form angezeigt wird, wenn ich mit rechts auf die Titlelleiste klicke) auf einer Form anzeigen lassen, die keine Titelleitste besitzt anzeigen lassen (BorderStyle = bsNone), und zwar da wo mir das passt ... :wink:
Ich hab das schon so versucht, aber das funktioniert so noch nicht so wie es das sollte ...
Delphi-Quellcode:
TrackPopUpMenuEx(GetSystemMenu(Application.Handle, false), TPM_HORIZONTAL, Form1.Left + x, Form1.Top + y, Application.Handle, nil);
Die MenüItems die deaktiviert sein sollten sind es nicht, nur wenn ich vorher das 'echte' menü aus der startleiste aufgerufen hab, dazu sind die MenüItems nutzlos, denn es passiert nichts, wenn ich draufklicke ...

Kann mir da jmd helfen?

thx, Philipp

The-X 23. Apr 2004 15:53

Re: Systemmenü anzeigen lassen
 
TrackPopupMenuEx liefert dir nur die MenuID von dem Menüeintrag,
Dazu müsstest du dann noch das Ergebnis mit

Delphi-Quellcode:
SendMessage(Self.Handle,WM_SYSCOMMAND,{Ergebnis von TrackPopUpMenuEx},0);
an dein Formular schicken

c113plpbr 23. Apr 2004 16:00

Re: Systemmenü anzeigen lassen
 
Äähhm ... das ergebnis von TrackPopUpMenuEx ist ein LongBool wert ... das wird nicht gerade das sein, was ich mit SendMessage senden sollte ... oder? :gruebel:

ciao, Philipp

c113plpbr 23. Apr 2004 16:14

Re: Systemmenü anzeigen lassen
 
Hab die Lösung bei den Schweizern gefunden (http://www.swissdelphicenter.ch/de/showcode.php?id=1594) ...
Ein schlichter Einzeiler ... ;-)

ciao and thx, Philipp

The-X 26. Apr 2004 15:23

Re: Systemmenü anzeigen lassen
 
Achsoo, dann hab ich wohl deine Frage falsch gelesen :roll:

hab nur auf das TrackPopupMenuEx geachtet :wall:

Thanatos81 17. Feb 2005 10:32

Re: Systemmenü anzeigen lassen
 
Das Thema ist schon älter, habs aber trotzdem gefunden :-)

Habe mir dies hier angeschaut:
Zitat:

Zitat von c113plpbr
Hab die Lösung bei den Schweizern gefunden (http://www.swissdelphicenter.ch/de/showcode.php?id=1594) ...
Ein schlichter Einzeiler ... ;-)

ciao and thx, Philipp

Funktioniert auch ganz gut, allerdings hab ich dann immer noch nen Rand um meine Form, den ich ja bei bsNone nicht hab. Irgendwer ne Ahnung, wie ich das Ding wegbekomme?

Schönen Gruß,


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:06 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz