![]() |
Delphi-Version: 5
Button dynamisch erstellen / On... Events WIE ?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich möchte einem Button, den ich dynamisch erstellt habe, ein On... (z.B. OnClick) - Ereignis zuweisen. Ich beginne so:
Code:
Das klappt auch ganz toll!
procedure TForm1.Button1Click(Sender: TObject);
var a: TButton; begin a := TButton.Create(self); a.Parent := Form1; a.Visible := True; a.Top := 0; a.Left := 0; a.Width := 22; a.Height := 44; a.Caption := 'lala'; end; Aber wie kann ich jetzt OnClick-zuweisen ? Irgendwas mit "a.OnClick:=" aber ich habe keine Ahnung was ich da reinschreiben soll. Der Typ ist TNOTIFYEVENT ? Vielen Danke |
AW: Button dynamisch erstellen / On... Events WIE ?
Delphi-Quellcode:
TNotifyEvent = procedure(Sender: TObject) of object;
Das heißt, du machst dir im Form eine Prozedur wie zum Beispiel
Delphi-Quellcode:
Die Zuweisung des OnClick zur Methode wäre dann
type
MeinForm = class(TForm) private procedure ButtonClick(Sender: TObject); {...} procedure MeinForm.ButtonClick(Sender: TObject); begin // Es wurde geklickt! end;
Delphi-Quellcode:
a.OnClick := ButtonClick;
HTH |
AW: Button dynamisch erstellen / On... Events WIE ?
Mist, hatte das "@" vergessen!
grus |
AW: Button dynamisch erstellen / On... Events WIE ?
Ah, danke!
Hatte es auch grad noch probiert und festgestellt, dass man ein @ braucht. Danke, THomas! |
AW: Button dynamisch erstellen / On... Events WIE ?
Achja, FreePascal ist da etwas strikter.. Delphi hat mir den schluffigen Programmierstil beigebracht, ich gehöre (leider) zu der Fraktion, die das @ weglässt :-D
Schön wenn jetzt alles funktioniert. |
AW: Button dynamisch erstellen / On... Events WIE ?
Das @ brauchst Du nur, wenn Du nicht auf den Delphi-Kompatibilitätsmodus umstellst. Wie das allerdings genau ging, weiß ich leider nicht aus dem Kopf, da wird IIRC eine Compiler-Direktrive gesetzt ({$MODE Delphi} oder so ähnlich).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:34 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