Einzelnen Beitrag anzeigen

buchsbaum

Registriert seit: 21. Jul 2009
9 Beiträge
 
#1

popup Menü Problem

  Alt 21. Jul 2009, 17:39
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 = 'hallothen
    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]
  Mit Zitat antworten Zitat