Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   HMENU zur laufzeit die Beschriftung herausbekommen (https://www.delphipraxis.net/124824-hmenu-zur-laufzeit-die-beschriftung-herausbekommen.html)

lbccaleb 25. Nov 2008 21:53


HMENU zur laufzeit die Beschriftung herausbekommen
 
Hallo Community,

Ich erzeuge zur Laufzeit ein PopUp-Menü dabei sind die einzelnen Einträge unterschiedlich, sprich, die Beschriftung ist anders! Wie kann ich nun anhand der Messages den Text herrausbekommen, mit welchem ich das Menü erzeugt habe?

Danke schon mal im vorraus...

lbccaleb 26. Nov 2008 09:28

Re: HMENU zur laufzeit die Beschriftung herausbekommen
 
Sorry das ich Pushe, aber ich komm irgendwie nicht so recht weiter *grummel*

mkinzler 26. Nov 2008 09:29

Re: HMENU zur laufzeit die Beschriftung herausbekommen
 
Non-VCL?

lbccaleb 26. Nov 2008 09:32

Re: HMENU zur laufzeit die Beschriftung herausbekommen
 
ja, nonVCL

SirThornberry 26. Nov 2008 09:38

Re: HMENU zur laufzeit die Beschriftung herausbekommen
 
Ich habe leider gerade kein Delphi zur Hand aber ich würde wie folgt vorgehen.
Ein Popupmenu nehmen und einen Eintrag anlegen. Dann per Quelltext die Caption abfragen (in etwa: PopupMenu1.Items[i].Caption) und dann nach der Declaration von Caption suchen (rechtsklick und entsprechenden Punkt im Menü auswählen oder Strg + Linke Maustaste auf Caption)

mkinzler 26. Nov 2008 09:42

Re: HMENU zur laufzeit die Beschriftung herausbekommen
 
Das wäre dann aber VCL

SirThornberry 26. Nov 2008 09:45

Re: HMENU zur laufzeit die Beschriftung herausbekommen
 
Nein, wäre es nicht. Das war eine beschreibung wie ich heraus finden würde wie es nonvcl geht. Denn im Source der VCL steckt mehr oder weniger tief vergraben der nonvcl aufruf. Und wenn man die Declaration sucht und dort schaut wie es in der VCL implementiert ist findet man eben den nonvcl-Aufruf :-)

lbccaleb 26. Nov 2008 09:46

Re: HMENU zur laufzeit die Beschriftung herausbekommen
 
Ja, VCL weiß ich wie ich es machen würde...
Naja, ist für meinen MediaPlayer! Lade die Filter als PopUp-Menü, und wollte dann bei Click Sie weiterverarbeiten! Da ich aber nicht weiß, welcher Filter, welchem Menü zugeordnet wurde, brauche ich die Bezeichnung, denn beim laden wird die ja nach dem Filter benannt!

SirThornberry 26. Nov 2008 09:49

Re: HMENU zur laufzeit die Beschriftung herausbekommen
 
wie gesagt sollst du es auch nicht mit der VCL machen sondern einfach in den VCL Sourcen schauen ;-) Da ich gerade kein Delphi zur Hand habe kann ich nicht selbst schauen und habe daher beschrieben wo/wie ich schauen würde.

lbccaleb 26. Nov 2008 10:06

Re: HMENU zur laufzeit die Beschriftung herausbekommen
 
Also die VCL macht es über MenuItemInfo.dwTypeData

Damit hatte ich auch schon rumgespielt, naja aber irgendwie kommt da bei mir nicht vernünftiges bei raus ;-)
Delphi-Quellcode:
GetMenuItemInfo(hFilterPopUpMenue, loword(wParam), False, MenuItemInfo1)
//loword(wParam) = ID des Menüs
Hat denn jemand ne ahnung wieso die funktion fehlschlägt??


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:19 Uhr.
Seite 1 von 2  1 2      

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