Autor Beitrag
Jojojoxx
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 386



BeitragVerfasst: Mi 29.08.07 00:08 
Hallo!

Ich erzeuge in einem Programm während der Laufzeit Einträge eines Untermenüs (TMenuItem).
Wie kann ich das OnClick-Ereignis eines solch dynamisch erzeugten Eintrags abfangen, da ich es ja im Objektinspektor nicht auswählen kann.
Danke für die Hilfe!
mfg

Jojo
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 29.08.07 00:25 
Einfach eine entsprechende Methode zuweisen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
type
  TForm1 = class(TForm)
    procedure MyOnClick(Sender : TObject);
  end;

...

myMenuItem.OnClick := MyOnClick;

Ist ausm Kopf geschrieben, kann also fehlerhaft sein. Prinzip dürfte passen

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Jojojoxx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 386



BeitragVerfasst: Mi 29.08.07 01:49 
Hi!

Dann erhalte ich den fehler "Ungenügende Forward- oder External-Deklaration".
mfg

Jojo
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 29.08.07 01:53 
Du musst MyOnClick schon noch implementieren ...

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Jojojoxx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 386



BeitragVerfasst: Mi 29.08.07 01:55 
Hi!

Habs grad hinbekommen, vielen Dank für deine Hilfe!
mfg

Jojo
Jojojoxx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 386



BeitragVerfasst: Mi 29.08.07 02:02 
Hi!

Jetzt hab ich ein anderes Problem. Mit Sender wird ja das Objekt übergeben (in meinem Falle also ein TMenuItem).
Aber ich kann wenn ich "Sender." eingebe, nicht die TMenuItem-spezifischen Punkte finden wie Caption usw...
Wie kann ich daran kommen?
Danke!
mfg

Jojo
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Mi 29.08.07 02:10 
Da der Parameter Sender vom Typ TObject ist, musst Du ihn in ein TMenuItem casten:
ausblenden Delphi-Quelltext
1:
TMenuItem(Sender).Caption					

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Jojojoxx Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 386



BeitragVerfasst: Mi 29.08.07 02:11 
Super, klappt! :)
Vielen Dank für deine Hilfe zu noch so später (oder eher früher) Stunde :)
mfg

Jojo