Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Checkbox mit Shortcut (TActionList)

  Alt 22. Jan 2012, 22:01
Du verwendest die Action-Komponente falsch

Eine TAction-Instanz kann man in einem Menü unterbringen oder eben an Buttons oder eben auch an einer Checkbox anhängen.
Die TAction-Instanz soll aber immer funktionieren unabhängig davon, ob diese nun an einer Checkbox hängt oder nur in einem Menü.
Und wenn wir uns mal die Klasse Delphi-Referenz durchsuchenTAction ansehen, dann stellen wir fest, da gibt es doch tatsächlich eine Eigenschaft Delphi-Referenz durchsuchenTAction.Checked, nebst einer Eigenschaft Delphi-Referenz durchsuchenTAction.AutoCheck.

Mit dem Wissen sollte man also die Execute-Methode wie folgt schreiben:
Delphi-Quellcode:
procedure TForm1.imageFitToScreenExecute(Sender: TObject);
begin
  if imageFitToScreen.Checked then
    begin
      display.ScaleMode := smResize;
    end
  else
    begin
      display.ScaleMode := smScale;
      display.Scale := 1;
    end;
end;
und nicht vergessen im OI für imageFitToScreen.AutoCheck auf True zu setzen.
Die Checkbox, der man diese Action zuweist, wird nun auch korrekt den Status von der Action anzeigen und auch das mit dem ShortCut funktioniert nun.
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat