![]() |
Buttons und MainMenu synchronisieren
hallo zusammen,
ich stelle mir gerade die Frage, wie (ob?) es möglich ist, meine Buttons und die entsprechenden MainMenü-Eintgräge (jeweils gleiches OnClick-Ereinigs) irgendwie zu synchronisieren. Momentan mache ich alles manuell:
Delphi-Quellcode:
Gibt es dafür eine elegantere Lösung?[...] Button_Loeschen.Enabled := False; MM_Loechen.Enabled := False; Button_Verschieben.Enabled := True; MM_Verschieben.Enabled := True; [...] Grüsse, SCRaT |
Re: Buttons und MainMenu synchronisieren
Hallo,
du solltest dich über die Eigenschaft Action deiner Buttons und MenuItems informieren: TActionList ... Grüße vom marabu |
Re: Buttons und MainMenu synchronisieren
Hmmm, ich habe mir schon einmal
![]() Eigentlich möchte ich ja die EIGENSCHAFT "enabled" synchronisieren. Geht das damit auch? Wäre super, wenn vielleicht jemand ein Beispiel-Code für eine einfache 1-Button/MainMenuItem - Kombination hätte. SCRaT |
Re: Buttons und MainMenu synchronisieren
Hallo Michael,
in ![]() Freundliche Grüße |
Re: Buttons und MainMenu synchronisieren
Zitat:
Beispielcode ist hiebei schon fast schwierig, da es bei diesem Mechanismus für den Entwickler (fast) keinen Code zu schreiben gibt. Die Actions machen alles alleine! Probiers einfach aus: Erzeuge eine Action und weise diese Action einem Button und einem Menuitem zu. Dann setze im Code z.B "DeineAction.Enabled := false" und schau was mit dem Menuitem und dem Button passiert. Auch andere Eigenschaften lassen sich per Action verwalten: Caption, Visible, ImageIndex usw. Wenn die Action auch noch regelmässig die verwalteten Eigenschaften auf dem aktuellen Stand halten soll dann verwende das Event "OnUpdate" der Action. Dort kannst du z.B. eine in Abhängigkeit von einer Bedingung Action ein oder ausschalten: Im OnUpdate-Event: "MeineAction.Enabled := bDatenGeladen" - Jetzt würde die Action automatisch ein oder ausgeschaltet je nach dem welchen Wert die Variable "bDatenGeladen" hat und zwar egal wo im Programm sich die Variable ändert (normalerweise müsstest du an jeder Stelle an der sich die Variable ändert eine Umschaltungvon Buttons/Menüs einbauen). Die "angeschlossenen" Buttons/Menüs/wasauchimmers ändern sich dann automatisch mit. |
Re: Buttons und MainMenu synchronisieren
OK, vielen Dank. Ich werde es - sobald ich Zeit habe - gleich mal testen und mich damit auseinandersetzen!
Thanx nochmal... SCRaT |
Re: Buttons und MainMenu synchronisieren
Liste der Anhänge anzeigen (Anzahl: 1)
Hai SCRaT,
ich habe mal schnell ein kleines Beispiel getippt. |
Re: Buttons und MainMenu synchronisieren
Danke, Sharky. So langsam steige ich da durch :-)
Aber was ich mich noch Frage: Der Button und der entsprechende MainMenu-Eintrag haben verschiedene "Captions". Lässt sich die Action NUR auf die Eigenschaft "enabled" begrenzen? Ein löschen der Caption in der Action hilft leider nicht... SCRaT |
Re: Buttons und MainMenu synchronisieren
Zitat:
normalerweise möchte man ja bei einer Aktion auch die selbe Beschreibung. Aber okay. Weise erst dem Button und dem Menüpunkt die Action zu und ändere dannach die Eigenschaft Caption des Buttons oder des Menüpunktes. |
Re: Buttons und MainMenu synchronisieren
Hallo,
ich hab mir auch mal das Demo angeschaut, endlich versteh ich wie das funktioniert mit den ActionLists :-) Aber mir ist das was aufgefallen: Wenn man in der Liste ein anderes Image auswählt, dann wird das nur im Menupunkt "blubb" geändert. Der Button "Blubb" behält sein altes Image (das Smilie). Ach ja - noch was: Wieso hast du im OnClick des Menupunkts "blubb" und im Onclick des Buttons "blubb" das OnExecute des Actions "acblubb" zugewiesen? Es würde ja auch ohne der OnClick-Zuweisungen funktionieren. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 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 by Thomas Breitkreuz