Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Eine Toolbar für viele Forms einsetzen ? (https://www.delphipraxis.net/67432-eine-toolbar-fuer-viele-forms-einsetzen.html)

bwolf 14. Apr 2006 10:58


Eine Toolbar für viele Forms einsetzen ?
 
Hi all,

Ich hab eine frm_main in der nur das Menü und die Toolbars sind (ähnlich wie bei der Delphi IDE)
Dementsprechend, was für ein Menüpunkt angeklickt wurde, wird die entsprechende Form sichbar gesetzt (jeder Menüpunkt hat seine eigene Form)

Das Problem ist jetzt, das die Toolbar-Buttons aus frm_main entsprechend der aktuell ausgewählten Form unterschiedliche Aktionen ausführen müssen.

Ich hab mir überlegt, das ich eine globale Variable nehm in der ich speichere welche Form als letzes angeklickt wurde, und beim ToolbuttonClick das dann mit einem Case prüfe...

Gibts da vieleicht ne bessere Lösung? Meine Lösung kommt mir irgendwie nicht so gant koscher vor =)

thx & grüße,
ben

Hawkeye219 14. Apr 2006 11:08

Re: Eine Toolbar für viele Forms einsetzen ?
 
Hallo ben,

ich würde im Hauptformular einen Platzhalter (TPanel) für die Toolbars ablegen und jeder Form eine eigene Toolbar spendieren. Beim Einblenden eines Formulars setzt Du die zugehörige Toolbar durch eine Anpassung ihrer Eigenschaft Parent in das Panel, beim Ausblenden eines Formulars machst Du diese Änderung wieder rückgängig. Auf diese Weise kannst Du die ganze Behandlung der Klick-Ereignisse (hoffentlich durch Actions :wink:) in den Formular-Quelltexten vornehmen.

Eine weitere Möglichkeit wäre die Verwendung von Frames, die Du mit der Ausrichtung alClient in das Hauptformular legst. Das Umschalten reduziert sich in diesem Fall auf einen Aufruf der Methode BringToFront des ausgewählten Frames.

Gruß Hawkeye

bwolf 14. Apr 2006 11:12

Re: Eine Toolbar für viele Forms einsetzen ?
 
Hoho HawkEye,

hört sich sehr interessant an dein Vorschlag - werde gleich mal versuchen das so Umzusetzen.
Bei Problemen meld ich mich nochmal ^^

Danke,
gruß ben


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