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 item im popupmenu hinzufügen und dem eine funktion zuweisen (https://www.delphipraxis.net/21669-item-im-popupmenu-hinzufuegen-und-dem-eine-funktion-zuweisen.html)

Andreas L. 6. Mai 2004 12:14


item im popupmenu hinzufügen und dem eine funktion zuweisen
 
Hi,
ich möchte in einen PopUp-Menu ein Item hinzufügen.

Delphi-Quellcode:
popupmenu1.items.add('Item :-)');
Funktioniert nicht wirklich. Die programmierhilfe will irgendwas mit Array und beim kompilieren tritt dieser fehler auf: "Es gibt keine überladene Version von 'Add', die man mit diesen Argumenten aufrufen kann!"

Wie erstelle ich da ein neues Item und wie kann ich dem eine dynamische Funktion bzw. eine statische zuweisen.

Also ich möchte nämlich machen das der benutzer meines programms eigene programme quasi als Link in ein popupmenu hinzufügen kann. durch einen klick auf so ein item muss das gewählte programm gestartet werden. Also mit Shellexecute, jedoch weiß ich nicht wie ich das mit einer For-Schleife mache bzw. weiß ich gar nicht wie ich da eine Funktion mit eine popupmenu item verbinden kann.

Delphi-Quellcode:
for i:=0 to ListBox1.items.count-1 do
 begin
  popupmenu1.items.add(?????);
  ????
 end;
Finde überhaupt keinen geeigneten Ansatz.

Könnt ihr mir helfen.

Greetz und thx

Sharky 6. Mai 2004 12:19

Re: item im popupmenu hinzufügen und dem eine funktion zuwei
 
Hai onlinehome,

guckst Du:

Delphi-Quellcode:
procedure TForm1.myOnClick (Sender : TObject);
begin
  //IrgendeinCode
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  myItem : TMenuItem;
begin
  myItem := TMenuItem.Create(self);
  myItem.Caption := Edit1.Text; // Der Text aus Edit1 wir die Caption des Eintrages
  myItem.OnClick := myOnClick;  // Alle Einträge bekommen die selbe OnClick-Procedure
  PopupMenu1.Items.Add(myItem);
end;

Andreas L. 6. Mai 2004 17:03

Re: item im popupmenu hinzufügen und dem eine funktion zuwei
 
Ok, das erstellen eines Items funzt jetzt aber entweder ich bin zu blöd oder ich check net wie ich da in myOnClick die verschiedenen pfade dynamisch erstelle.

Also ich habe zwei ListBoxs. in der einen stehen die captions der items und in der anderen die pfade zu den programmen.

die pfade und captions haben jeweils die gleichen integer werte.

ListBox1:
Code:
1: Word
2. Notepad
3. usw.
ListBox2:
Code:
1. C:\Programme\word\word.exe
2. C:\Windows\Notepad.exe
3. usw.
Also muss ich das ganze mit ner For-Schleife machen. Aber wie???

Steh heut total am Schlauch.

Greetz und thx

Aike 16. Okt 2004 12:11

Re: item im popupmenu hinzufügen und dem eine funktion zuwei
 
Ich stehe vor einem ähnlichen Problem:
Das Hinzufügen von Einträgen funktioniert, aber wie ich den Einträgen Prozeduren zuweisen kann, verstehe ich nicht.

Kann ich nicht etwas wie ...
"if Eintrag1.Click then begin [...] end;"
... programmieren?

Nicodius 16. Okt 2004 12:21

Re: item im popupmenu hinzufügen und dem eine funktion zuwei
 
nein .. du musst eine procedure zuweisen

ins puplic oder sonst wo

Delphi-Quellcode:
 procedure OkButtonClick(Sender : TObject);
und unten dann


Delphi-Quellcode:
procedure TEreignis.OkButtonClick(Sender : TObject);
begin
  TForm(TButton(Sender).Parent).Close;
end;
Delphi-Quellcode:
  button.OnClick := OkButtonClick;

Aike 16. Okt 2004 12:29

Re: item im popupmenu hinzufügen und dem eine funktion zuwei
 
Ah, super, danke :angel:

Nicodius 16. Okt 2004 12:48

Re: item im popupmenu hinzufügen und dem eine funktion zuwei
 
kein problem ;) :cheers:


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