Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem mit PopupMenü (https://www.delphipraxis.net/60133-problem-mit-popupmenue.html)

Metatron220 3. Jan 2006 16:04


Problem mit PopupMenü
 
Ich möchte gerne ein Programm schreiben, bei dem man in das PopupMenü Einträge einfügen kann, durch die Programme gestartet werden. Das Einfügen ist auch nicht das Problem. Aber wie finde ich heraus, welches MenuItem (am besten der Index davon) genau angeklickt wurde, dass ich weiß welches Programm ich ausführen muss?
Vielen Dank schon mal im Vorraus

dahead 3. Jan 2006 16:07

Re: Problem mit PopupMenü
 
dafür bietet sich die tag eigenschaft des TMenuItems an.

marabu 3. Jan 2006 16:09

Re: Problem mit PopupMenü
 
Hi,

du kannst die tag property des MenuItem als Diskriminator benutzen. Speicherst du dort eine Integer, dann kannst du damit im Ereignis OnCLick() eine case Anweisung steuern. Oder du hinterlegst einen Zeiger auf ein Objekt, welches alle notwendigen Informationen enthält.

Neujahrsgrüße vom marabu

Metatron220 3. Jan 2006 16:18

Re: Problem mit PopupMenü
 
Den MenuItems Tags zuzuweisen mache. Aber mein Problem ist immer noch wie ich dann in dem OnClick Ereignis herausfinde, von welchem MenuItem es genau ausgeführt wurde, da alle MenuItems auf das selbe Ereignis verweisen.

dahead 3. Jan 2006 16:20

Re: Problem mit PopupMenü
 
du kannst das so anstellen:

Delphi-Quellcode:
if Sender is TMenuItem then
 begin
  case (Sender as TMenuItem).Tag of
   0: RunTest((Sender as TMenuItem).Tag);
   1: ;
   2: ;
  end;
 end;

Metatron220 3. Jan 2006 16:22

Re: Problem mit PopupMenü
 
Vielen Dank für die gute Hilfe. Werds gleich mal ausprobieren :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:08 Uhr.

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