Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - onClick Event zur Laufzeit zuweisen
delphisual - Mi 10.09.03 22:03
Titel: onClick Event zur Laufzeit zuweisen
Hallo zusammen,
mit folgendem Code erzeuge ich mir 10 Buttons, jetzt möchte ich mir die passenden onClick Events dazu coden und hier hackt es leider :(
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13:
| procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin for i := 1 to 10 do with TButton.Create(Self) do begin Parent :=Form1; Caption := 'Button' + IntToStr(i); Left := 30; Top := 30*i; end; end; |
Ich weis dass es über
TnotifyEvent Object geht, habe aber leider keinen Beispiel für gefunden.
Kann wer bitte helfen?
MfG delphisual
Christian S. - Mi 10.09.03 22:20
Hallo!
Vielleicht hilft das:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26:
| TForm1 = class(TForm) Button1: TButton; procedure FormCreate(Sender: TObject); procedure tuWas (SEnder : TObject); private public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.tuWas(sender : TObject); begin ShowMessage('bla'); end;
procedure TForm1.FormCreate(Sender: TObject); begin Button1.OnClick := tuWas; end; |
MfG
Peter
delphisual - Mi 10.09.03 22:41
Danke schön es funktioniert ;)
Leider funktioniert es nicht mehr wenn ich den Parent (der Buttons) an meinen StringGrid1 zuweise.
Meine Idee ist es jeden Row des StingGrids mit einem Button zu bestücken.
Hast du Peter eine Idee?
Christian S. - Mi 10.09.03 22:55
Hm. Ich kann mir nicht ganz vorstellen, wie das aussehen soll. Kannst Du das etwas genauer beschreiben?
delphisual - Do 11.09.03 19:12
Hi, der user wird später in der Lage sein die Anzahl der Rows des StringGrids zu wählen,
jeder Row bekommt einen Button verpasst, und jeder diesen Buttons muss dem entsprechend einen eigenen Event bekommen.
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24:
| procedure TForm1.tuWas(sender : TObject); begin // An dieser stelle muss ich herausfinden welcher Button gedrükt wurde // um darauf zu reagieren ShowMessage('bla'); end;
procedure TForm1.FormCreate(Sender: TObject); var i: Integer; begin for i := 1 to 100 do begin with TButton.Create(self) do begin Name:= 'Button' + IntToStr(i); Parent:= StringGrid1; Caption:= 'Button' + IntToStr(i); Height:= 22; Left:= 2; Top:= 25*i; OnClick:= tuWas; // wird leider nicht mehr ausgeführt end;
end; end; |
wenn ich den Parent an StringGrid1 übergebe werden die Buttons zu geordnet doch das Event
funzt leider nicht mehr.
Mit freundlichen Grüßen
delphisual
Keldorn - Do 11.09.03 19:25
| delphisual hat folgendes geschrieben: |
Hi, der user wird später in der Lage sein die Anzahl der Rows des StringGrids zu wählen,
jeder Row bekommt einen Button verpasst, und jeder diesen Buttons muss dem entsprechend einen eigenen Event bekommen.
|
öhm warum wertest du nicht bei einem Klick bzw mousedown die Zeile aus? (stichwort mousetocell um die Zeillen rauszubekommen)
Mfg Frank
delphisual - Do 11.09.03 19:38
Weniger Aufwand wäre dass auf jeden Fall, ich wollte mich mehr mit Events beschäftigen
da es mich schon immer interessiert hat ;)
Ich habe auch alle meine Bücher sowie Delphi-Hilfe danach abgesucht ohne Erfolg.
hat niemand eine Idee ? :cry:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!