Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Popupmenu (https://www.delphipraxis.net/36830-popupmenu.html)

perle 26. Dez 2004 16:46


Popupmenu
 
Hi...

Ich habe ein Popupmenu...dem ich zur Laufzeit beliebig viele Einträge zuweisen möchte...und zwar sollen das Dateien sein, die ich vorher ausgewählt habe....


(also beim buttonclick wird der neue eintrag angelegt mit dem Dateinamen der ausgewählten datei)....
Wenn man jetzt diesen Eintrag anklickt, soll auch diese Datei gestartet werden.

Zum Handlen des OnClick events muss ich NewItem() ja ein TNotifyEvent zuweisen wo ich dann bestimmen kann, was passieren soll und bei jedem klick soll ja im Grunde eine Datei gestartet werden, aber wie kann ich dann den zu startenden Dateinamen übergeben? Vielleicht gibt es ja auch noch eine bessere Möglichkeit, wäre auch dafür sehr dankbar.

Joe24 26. Dez 2004 16:57

Re: Popupmenu
 
Erstelle eine StringList mit den Pfadangaben der Dateinamen und
übergebe dann jedem Popupmenu.Tag die Nummer des Eintrages in der Stringlist. Dann kannst du aus dem OnClick-Event heraus
auf StringList.Item[ Popupmenu.Tag] zugreifen.

roderich 26. Dez 2004 17:09

Re: Popupmenu
 
oder Du verwendest die Caption der MenuItems für den jeweiligen Dateinamen.

Dann kanst du im OnClick-Ereignis der MenuItems einfach schreiben

Delphi-Quellcode:
  filename := (Sender as TMenuItem).Caption;
  ...
  MachWas(filename);
Du mußt da aufpassen, daß beim PopupMenu die Eigenschaft "AutoHotKey" (oder so ähnlich...) auf false steht, sonst bekommst Du mit der obigen Methode "_"-Zeichen in die Dateinamen (bin ich auch schon drauf reingefallen...). :)

Roderich

perle 26. Dez 2004 17:13

Re: Popupmenu
 
Zitat:

Zitat von roderich
oder Du verwendest die Caption der MenuItems für den jeweiligen Dateinamen.

Dann kanst du im OnClick-Ereignis der MenuItems einfach schreiben

Delphi-Quellcode:
  filename := (Sender as TMenuItem).Caption;
  ...
  MachWas(filename);
Du mußt da aufpassen, daß beim PopupMenu die Eigenschaft "AutoHotKey" (oder so ähnlich...) auf false steht, sonst bekommst Du mit der obigen Methode "_"-Zeichen in die Dateinamen (bin ich auch schon drauf reingefallen...). :)

Roderich

so gehts leider nicht, da ich den ganzen pfad inner stringlist hab und in den menutitems nur den filename ohne pfad.

ich werd mal das obere ausprobieren...Danke schonmal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:58 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