Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Toolbar Buttones dynamisch hinzufügen (TNotifyEvent) (https://www.delphipraxis.net/47114-toolbar-buttones-dynamisch-hinzufuegen-tnotifyevent.html)

lord 6. Jun 2005 21:19


Toolbar Buttones dynamisch hinzufügen (TNotifyEvent)
 
Hiho,

Ich möchte zu einer Toolbar im Hauptformular aus einem Nebenformular zur Laufzeit mehrere Toolbarbuttons hinzufügen. Das klappt auch schon ganz fein!
Allerdings hab ich nach einiger Zeit bei Google immer noch keine Informationen dazu gefunden wie man die Buttons auf ein Event wie bspw. OnClick reagieren lassen kann. Ich bin einige male über TNotifyEvent gestolpert, allerdings hab ich kein brauchbares CodeSnippet/Tutorial dazu gefunden, auch die DelphiHilfe gibt nicht viel dazu her.

Kennt vielleicht jemand einen guten Text zu dem Thema, oder hat ein CodeSnippet parat? Das würde mir sehr viel weiterhelfen!

Vielen Dank schonmal im Voraus.

mfg lord

Pr0g 6. Jun 2005 21:24

Re: Toolbar Buttones dynamisch hinzufügen (TNotifyEvent)
 
Du musst dir im Code eine eigene OnClick anlegen, bspw.:
Delphi-Quellcode:
  private
    { Private-Deklarationen }
    procedure MyToolButtonClick(Sender: TObject);
Delphi-Quellcode:
procedure TForm1.MyToolButtonClick(Sender: TObject);
var
  fToolBtn: TToolButton;
begin
  fToolBtn := (Sender as TToolButton);
  if not Assigned(fToolBtn) then
    Exit;

  case fToolBtn.Tag of
    0: // Aktion des ersten Buttons
    1: //   ''   '' zweiten ''
    //...
  end;
end;
Diese kannst du dann immer dem OnClick deines dynmischen Buttons zuordnen. Dann könntest du jedem Button einen anderen Tag Wert zuweisen und (wie in dem Code oben angedeutet) je nach Tag die passende Aktion für den Button ausführen.

Edit: Die Zuweisung:
Delphi-Quellcode:
DeinToolButton.Tag := 1; // da den passenden Wert
DeinToolButton.OnClick := MyToolButtonClick; // OnClick zuweisen
MfG Pr0g

lord 6. Jun 2005 21:33

Re: Toolbar Buttones dynamisch hinzufügen (TNotifyEvent)
 
Vielen Dank! Hat prima geklappt.

mfg lord


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