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 laufzeit-menuitem festlegen (https://www.delphipraxis.net/67110-onclick-bei-laufzeit-menuitem-festlegen.html)

sancho1980 9. Apr 2006 18:58


onclick bei laufzeit-menuitem festlegen
 
hallo ihrs
wenn ich ein TMenuItem zur Laufzeit erzeuge

Delphi-Quellcode:
TMI := TMenuItem.Create(self);
und eine procedure geschrieben habe, die ausgeführt werden soll, sobald auf dieses TMI geklickt wird, wie erfolgt da die Zuweisung?

Habe gesehen, da gibt's so eine Eigenschaft TMI.OnClick, aber da muss so ein TNotifyEvent zugeordnet werden; komme damit nicht ganz klar...

Danke,

Martin

BenjaminH 9. Apr 2006 18:59

Re: onclick bei laufzeit-menuitem festlegen
 
wenn die zugehörige Prozedur richtig deklariert wurde, reich eigentlich:
Delphi-Quellcode:
TMI.OnClick:=SpecialProcedure;

sniper_w 9. Apr 2006 19:44

Re: onclick bei laufzeit-menuitem festlegen
 
Delphi-Quellcode:
//...
  public
    { Public declarations }
    procedure OnMenuItemClick(Sender:TObject);
  end;

procedure TmyForm.FormCreate(Sender: TObject);
var
  NewMenuItem:TMenuItem;
begin
  NewMenuItem := TMenuItem.Create( PopupMenu ); // oder ( Self );
  NewMenuItem.Caption := 'Hallo';
  NewMenuItem.OnClick := OnMenuItemClick;
  PopupMenu.Items.Add(NewMenuItem);
end;

procedure TmyForm.OnMenuItemClick(Sender: TObject);
begin
  Caption := TMenuItem(Sender).Caption;
end;

sancho1980 9. Apr 2006 20:51

Re: onclick bei laufzeit-menuitem festlegen
 
danke
mir war nicht klar, dass die procedure eine bestimmte signatur braucht!


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