Hallo
Ich habe ein kleines Problem. Ich nutze Delphi 7 Enterprise, falls das für dieses Problem von Bedeutung ist.
Mein Programm erstellt dynamisch ein PopUp Menü. Je nachdem welche Einträge sich in einer Listbox befinden werden auch Einträge im Popup Menü erzeugt. Mein problem ist nun, dass ich nicht weiß, wie ich das .onClick event der PopUps ausgelesen bekomme.
Je nachdem welcher Popup Eintrag gedrückt wird, soll ein unterschiedlicher Text in einem Label erscheinen.
Ich wollte nun mittels Sender-Auslesen die PopUp Schaltfläche identifizieren und dann auswerten. Dazu wollte ich nutzen:
Delphi-Quellcode:
submenu := TMenuItems.create(self);
submenu.caption := 'hallo';
submenu.onClick := neue_proz;
procedure neue_proz(Sender: TObject);
begin
if TMenuItem(Sender).caption = 'hallo' then
Label1.caption := 'Richtig'
else
Label1.caption := 'Falsch';
end;
problem ist nur, dass die caption des PopUp Menüs bei ersten Buchstaben bedingt durch den Hotkey einen Unterstrich unter den Buchstaben setzt und damit bekomm ich immer 'Falsch' ausgegeben, denn 'hallo'(normal) ist ja nicht gleich 'hallo'(Mit Unterstrich unter dem 'h').
Weiß jemand eine Lösung, würde mich sehr freuen!
Ídentifizierung über
TMenuItem(Sender).name
geht leider nicht, da das PopUp Menü nach Texteinträgen bezeichnet wird und die meist nicht für die Eigenschaft .name anwendbar sind (z.B. Leerzeichen im Text, ect.)
PopUpMenu.autohotkey := false;
geht leider auch nicht
Mit freundlichem Gruß
Buchsbaum
PS: Entschuldigt den Doppelpost, habe den Beitrag vorher an der falschen Stelle gepostet!
[edit=mkinzler]Delphi-Tags ergänzt Mfg, mkinzler[/edit]