Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Problem mit SpeedButton Enabled (https://www.delphipraxis.net/191952-problem-mit-speedbutton-enabled.html)

canoniac 7. Mär 2017 07:39

Delphi-Version: XE7

Problem mit SpeedButton Enabled
 
Hallo Zusammen,

ich habe seit einiger Zeit SpeedButton im Einsatz. Seit kurzem (zumindest erst kürzlich bemerkt) wird der Button nicht mehr korrekt gezeichnet wenn die Eingeschaft Enabled von false auf true gesetzt wird. Das bedeutet, der Button bleibt optisch im Zustand Enabled := false und lässt sich somit auch nicht Bedienen.

Mach ich einen grundlegenden Fehler? Reicht es nicht aus die Eigenschaft Enabled zum ausgrauen/ deaktivieren des Buttons zu verwenden?


Vielen Dank für Tipps und Hinweise!

canoniac

himitsu 7. Mär 2017 07:51

AW: Problem mit SpeedButton Enabled
 
Wo setzt du das Enabled? (Threads?)

Und wirklich nur "optisch", aber bedienen lässt er sich dennoch, wenn man drauf klickt,
oder doch auch "physisch"?

Bei optisch, wenn er selber vergisst es zu machen:
Delphi-Quellcode:
SpeedButton.Enabled := True;
SpeedButton.Refresh;

[edit]
Stimmt, FMX vergessen aber Grundlegend passen die Antworten/Fragen zu Beidem.

Sherlock 7. Mär 2017 07:53

AW: Problem mit SpeedButton Enabled
 
Ist das VCL oder FMX? Bei FMX würde ich ein BeginUpdate und EndUpdate drumrum setzen.

Sherlock

canoniac 7. Mär 2017 08:00

AW: Problem mit SpeedButton Enabled
 
Ich teste im Augenblick ein wenig und es scheint momentan so als wenn der Button auch "physisch" nicht funktioniert.
Die Eigenschaft wird nicht aus einem Thread gesteuert sondern aus einem Timer-Event heraus.

Es ist ein VCL Formular.

Aviator 7. Mär 2017 08:35

AW: Problem mit SpeedButton Enabled
 
Benutzt du eine ActionList und hast dem Button eine Action zugewiesen? Wenn ja, dann musst du die entsprechende Action aktivieren.

MichaelT 7. Mär 2017 08:51

AW: Problem mit SpeedButton Enabled
 
Ist der Timer aktiv?

Zitat:

Zitat von canoniac (Beitrag 1363395)
Ich teste im Augenblick ein wenig und es scheint momentan so als wenn der Button auch "physisch" nicht funktioniert.
Die Eigenschaft wird nicht aus einem Thread gesteuert sondern aus einem Timer-Event heraus.

Es ist ein VCL Formular.


canoniac 7. Mär 2017 08:58

AW: Problem mit SpeedButton Enabled
 
Zitat:

Ist der Timer aktiv?
Alle anderen Funktionen des TimerEvents werden korrekt ausgeführt. Also gehe ich davon aus das der Timer ebenfalls korrekt funktioniert.

Zitat:

Benutzt du eine ActionList und hast dem Button eine Action zugewiesen? Wenn ja, dann musst du die entsprechende Action aktivieren.
Nein ich benutze keine ActionList.

MichaelT 7. Mär 2017 09:06

AW: Problem mit SpeedButton Enabled
 
Groupindex?

Zitat:

Zitat von canoniac (Beitrag 1363401)
Zitat:

Ist der Timer aktiv?
Alle anderen Funktionen des TimerEvents werden korrekt ausgeführt. Also gehe ich davon aus das der Timer ebenfalls korrekt funktioniert.

Zitat:

Benutzt du eine ActionList und hast dem Button eine Action zugewiesen? Wenn ja, dann musst du die entsprechende Action aktivieren.
Nein ich benutze keine ActionList.


canoniac 7. Mär 2017 09:20

AW: Problem mit SpeedButton Enabled
 
Der Groupindex ist 0.

himitsu 7. Mär 2017 10:28

AW: Problem mit SpeedButton Enabled
 
'nen Button auf die Form und da mal den aktuellen Status ausgeben
oder ein Timer und da regelmäßig in die FormCaption, bzw. ein Label ausgeben.
Delphi-Quellcode:
ShowMessage(BoolToStr(DeinSpeedButton.Enabled, True) + ' ' + BoolToStr(IsWindowEnabled(DeinSpeedButton.Handle), True));


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:45 Uhr.
Seite 1 von 2  1 2      

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