AGB  ·  Datenschutz  ·  Impressum  







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

TActionList enable/disable

Ein Thema von ThomasWB · begonnen am 13. Apr 2022 · letzter Beitrag vom 16. Apr 2022
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.654 Beiträge
 
Delphi 12 Athens
 
#1

AW: TActionList enable/disable

  Alt 13. Apr 2022, 16:46
Eventuell geht hier auch ActionList.State := asSuspended . Dabei bleibt zwar die Enabled-Eigenschaft der Actions unverändert, aber es wird kein Execute ausgeführt.

Siehe: System.Actions.TActionListState
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
ThomasWB

Registriert seit: 21. Jun 2015
38 Beiträge
 
#2

AW: TActionList enable/disable

  Alt 16. Apr 2022, 14:29
Vielen Dank für die Antworten. Leider ist keine von beiden meine erhoffte Lösung. Ich dachte, dass ich mit einem Schlag alle Aktionen einer ActionList deaktiviere.

Die Lösung von Uwe Raabe ist hier leider auch nur die halbe Lösung, da der Anwender in diesem Falle einen aktiven Button hat, auf den Button drückt (er ist ja nicht deaktiviert) und sich wundert, warum nichts geschieht.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.654 Beiträge
 
Delphi 12 Athens
 
#3

AW: TActionList enable/disable

  Alt 16. Apr 2022, 14:34
Ich weiß nicht, ob das bei dir noch unter die Kategorie mit einem Schlag fällt:
Delphi-Quellcode:
  
  for var action in ActionList1 do
    action.Enabled := False;
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
ThomasWB

Registriert seit: 21. Jun 2015
38 Beiträge
 
#4

AW: TActionList enable/disable

  Alt 16. Apr 2022, 17:37
for var action in ActionList1 do
action.Enabled := False;

Wahrscheinlich gibt es keine andere Lösung. Daher danke für diesen "knackigen", kurzen Code.
Evtl. werde ich mir eine Komponente mit einer Enable-Property bauen, die dann dahinter diesen Code hat.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.654 Beiträge
 
Delphi 12 Athens
 
#5

AW: TActionList enable/disable

  Alt 16. Apr 2022, 19:42
Evtl. werde ich mir eine Komponente mit einer Enable-Property bauen, die dann dahinter diesen Code hat.
Eventuell tut es auch ein class helper . Das erspart zumindest die Registrierung (und Verwendung) einer speziellen Komponente.
Delphi-Quellcode:
type
  TActionListHelper = class helper for TActionList
  private
    procedure SetEnabled(Value: Boolean);
  public
    property Enabled: Boolean write SetEnabled;
  end;

procedure TActionListHelper.SetEnabled(Value: Boolean);
begin
  for var action in Self do
    action.Enabled := Value;
end;
Mit dem Getter wird es allerdings etwas schwierig...
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Antwort Antwort


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 12:16 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-2025 by Thomas Breitkreuz