Einzelnen Beitrag anzeigen

Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2
  Alt 28. Aug 2002, 23:46
Moin Alexander,

falls vom Programmablauf her möglich könntest Du das Event ja schon bei der Erzeugung zuweisen.
Unter der Annahme, dass Du auch schon andere Toolbutton in Deinem Programm hast, nicht dynamisch erzeugt, könntest Du diesen dynamisch erzeugten einfach einen eindeutigen Namen verpassen, so dass Du über FindComponent auf diesen dann zugreifen kannst. Mal ein Beispiel:

Code:
[b]procedure[/b] TForm1.Button1Click(Sender: TObject);

[b]var[/b]
  i : integer;

[b]begin[/b]
  [b]for[/b] i := 0 [b]to[/b] Memo1.Lines.Count-1 [b]do[/b]
  [b]begin[/b]
    [b]with[/b] TToolButton.Create(Self) [b]do[/b]
    [b]begin[/b]
      Parent := ToolBar1;
      Name  := 'TBDYN_'+IntToStr(i);
    [b]end[/b];
  [b]end[/b];
  [b]for[/b] i := 0 [b]to[/b] Memo1.Lines.Count-1 [b]do[/b]
  [b]begin[/b]
    [b]if[/b] FindComponent('TBDYN_'+IntToStr(i)) <> [b]nil[/b] [b]then[/b]
    [b]begin[/b]
      TToolButton(FindComponent('TBDYN_'+IntToStr(i))).OnClick := ToolButton1Click;
    [b]end[/b];
  [b]end[/b];
[b]end[/b];

[b]procedure[/b] TForm1.ToolButton1Click(Sender: TObject);
[b]begin[/b]
  ShowMessage(TToolButton(Sender).Name);
[b]end[/b];
Oder Du sammelst die Button in einem array of TToolButton, und kannst dann über den Index auf diese zugreifen.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat