Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TBitBtn mit Style - Fehlerhafte Darstellung wenn disabled (https://www.delphipraxis.net/187106-tbitbtn-mit-style-fehlerhafte-darstellung-wenn-disabled.html)

bernau 28. Okt 2015 10:39

TBitBtn mit Style - Fehlerhafte Darstellung wenn disabled
 
DX10 - VCL

Man nehme zwei TBitBtn. Beide erhalten folgenden Code im OnClick-Event

Delphi-Quellcode:
  BitBtn1.enabled := false;
  BitBtn2.enabled := false;
Wenn man nun auf einen Button klickt, dann werden beide disabled. Funktioniert im Windows-Style einwandfrei. Wenn ich aber einen anderen Skin/Style (z.B. Luna) vewrwende, dann behält der geklickte Button den fokussierten Style. Praktisch kann man ihn natürlich nicht mehr anklicken. Sieht aber blöde aus.

Kann das jemand nachvollziehen? Ich denke, das ist kein gewolltes verhalten. Oder?

Als Workaround funktioniert bei mir, daß ich vorher den Fokus auf eine andere Komponente setze. Ist aber nicht Sinn der Sache.

Harry Stahl 28. Okt 2015 17:58

AW: TBitBtn mit Style - Fehlerhafte Darstellung wenn disabled
 
Ja, kann ich bestätigen.
Scheint ein Bug zu sein.
Sachen wie Repaint, Update, Invalidate etc. haben keine Auswirkung auf den Button.

Das einzige was hilft, ist in der OnClick-Prozedur nach dem Disabeln der Buttons folgendes anzufügen:

Delphi-Quellcode:
(Sender as TBitBtn).Perform(CM_RECREATEWND, 0, 0);


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:15 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