AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Buttons und MainMenu synchronisieren

Ein Thema von scrat1979 · begonnen am 16. Jun 2007 · letzter Beitrag vom 17. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#1

Buttons und MainMenu synchronisieren

  Alt 16. Jun 2007, 15:20
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:

[...]

Button_Loeschen.Enabled := False;
MM_Loechen.Enabled := False;

Button_Verschieben.Enabled := True;
MM_Verschieben.Enabled := True;

[...]
Gibt es dafür eine elegantere Lösung?

Grüsse,
SCRaT
Michael Kübler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Buttons und MainMenu synchronisieren

  Alt 16. Jun 2007, 15:24
Hallo,

du solltest dich über die Eigenschaft Action deiner Buttons und MenuItems informieren: TActionList ...

Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Buttons und MainMenu synchronisieren

  Alt 16. Jun 2007, 15:50
Hmmm, ich habe mir schon einmal dieses Tutorial angesehen. habe aber gedacht, dass man mit ActionLists z.B. gleiche OnClick-Ereignisse verwalten kann.

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
Michael Kübler
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: Buttons und MainMenu synchronisieren

  Alt 16. Jun 2007, 16:00
Hallo Michael,

in diesem Beitrag findest du ein Beispiel für eine Action, die sowohl einem MenuItem als auch einem Button zugewiesen werden kann. Die Manipulation der Eigenschaft Enabled der Action-Komponente wird automatisch auf die entsprechende Eigenschaft der Komponente übertragen mit der die Action verknüpft ist.

Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#5

Re: Buttons und MainMenu synchronisieren

  Alt 16. Jun 2007, 17:38
Zitat von scrat1979:
Wäre super, wenn vielleicht jemand ein Beispiel-Code für eine einfache 1-Button/MainMenuItem - Kombination hätte.SCRaT
Hi,

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.
Ralf Kaiser
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Buttons und MainMenu synchronisieren

  Alt 17. Jun 2007, 06:32
OK, vielen Dank. Ich werde es - sobald ich Zeit habe - gleich mal testen und mich damit auseinandersetzen!

Thanx nochmal...

SCRaT
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#7

Re: Buttons und MainMenu synchronisieren

  Alt 17. Jun 2007, 07:03
Hai SCRaT,

ich habe mal schnell ein kleines Beispiel getippt.
Angehängte Dateien
Dateityp: zip demoform_175.zip (12,5 KB, 19x aufgerufen)
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Buttons und MainMenu synchronisieren

  Alt 17. Jun 2007, 07:35
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
Michael Kübler
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Buttons und MainMenu synchronisieren

  Alt 17. Jun 2007, 07:49
Zitat von scrat1979:
... Der Button und der entsprechende MainMenu-Eintrag haben verschiedene "Captions". ...
Hai SCRaT,

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.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Helmi
Helmi

Registriert seit: 29. Dez 2003
Ort: Erding, Republik Bayern
3.312 Beiträge
 
Delphi XE2 Professional
 
#10

Re: Buttons und MainMenu synchronisieren

  Alt 17. Jun 2007, 08:22
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.
mfg
Helmi

>> Theorie ist Wissen, dass nicht funktioniert - Praxis ist, wenn alles funktioniert und keiner weiss warum! <<
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:55 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