Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi OnClick bei dynamisch erstelltem TMenuItem (https://www.delphipraxis.net/26338-onclick-bei-dynamisch-erstelltem-tmenuitem.html)

glkgereon 22. Jul 2004 10:02


OnClick bei dynamisch erstelltem TMenuItem
 
hi

ja, wie gesagt, ich erstelle dynamisch bis zu 5 TMenuItems, und will jetzt ein OnClick ereignis haben....

eins reicht mir, d.h. bei allen wird dasselbe gemacht
Es geht um einen mini-texteditor, wo die letzten dateien gespeichert werden sollen
der aufruf wird so in etwa aussehen:

Delphi-Quellcode:
RichEdit1.Lines.LoadFromFile(SaveItems[strtoint(TMenuItem(Sender).Name[Length(TMenuItem(Sender).Name)])])
also kurz: in der letzten stelle des namens steht die nummer wos abgespeichert ist....

mirage228 22. Jul 2004 10:05

Re: OnClick bei dynamisch erstelltem TMenuItem
 
Hi,

du brauchst als erstes eine Prozedur in deiner Form, die folgende Struktur hat:

Delphi-Quellcode:
procedure TFormX.Prozedur(Sender: TObject);
Dort schreibst du deinen Code rein.

Beim dynamischen erstellen weist du diese Prozedur dem OnClick von TMenuItem zu

Delphi-Quellcode:
var
  Item: TMenuItem;
begin
  // Item erstellen...
  Item.OnClick := Prozedur;
mfG
mirage228

Sharky 22. Jul 2004 10:06

Re: OnClick bei dynamisch erstelltem TMenuItem
 
Hai glkbkk,

ich verstehe ich Frage noch nicht so richt.
Du brauchst Dir doch nur eine "OnClick"-Procedure zu erstellen und diese dann jedem, dynamisch erzeugten, TMenueItem zuweisen.

myMenuItem.OnClick := meinOnClickProzedure;

glkgereon 22. Jul 2004 10:08

Re: OnClick bei dynamisch erstelltem TMenuItem
 
Oh, das geht auch mit prozeduren?

ok danke!!!

Stevie 22. Jul 2004 10:35

Re: OnClick bei dynamisch erstelltem TMenuItem
 
Zitat:

Zitat von glkbkk
Oh, das geht auch mit prozeduren?

ok danke!!!

Aber nur, wenn es eine "procedure of object" ist! Wegen dem "versteckten" Self-Parameter.


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