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/)
-   -   Fix für PngBitBtn von thany.org (https://www.delphipraxis.net/156228-fix-fuer-pngbitbtn-von-thany-org.html)

DeddyH 24. Nov 2010 08:49

Fix für PngBitBtn von thany.org
 
Für all diejenigen, die die PngComponents von thany.org verwenden und sich gewundert haben, dass die Caption bei disabled Buttons nicht ausgegraut wird, hier die Lösung. In der PngBitBtn.pas muss die Methode TPngBitBtn.CNDrawItem etwas erweitert werden. Im Original heißt es ab Zeile 209
Zitat:

Delphi-Quellcode:
//Draw the text
if Length(Caption) > 0
then begin
     PaintRect := Rect(TextPos.X, TextPos.Y, Width, Height);
     FCanvas.Brush.Style := bsClear;
     DrawText(FCanvas.Handle, PChar(Caption), -1, PaintRect, DrawTextBiDiModeFlags(0) or DT_TOP or DT_LEFT or DT_SINGLELINE);
     end;

Dies wird zu
Delphi-Quellcode:
//Draw the text
if Length(Caption) > 0
then begin
     PaintRect := Rect(TextPos.X, TextPos.Y, Width, Height);
     FCanvas.Brush.Style := bsClear;

     //Caption ausgrauen, wenn disabled
     if not Enabled then
       begin
         OffsetRect(PaintRect, 1, 1);
         FCanvas.Font.Color := clBtnHighlight;
         DrawText(FCanvas.Handle, PChar(Caption), -1, PaintRect, DrawTextBiDiModeFlags(0) or DT_TOP or DT_LEFT or DT_SINGLELINE);
         OffsetRect(PaintRect, -1, -1);
         FCanvas.Font.Color := clBtnShadow;
       end;

     DrawText(FCanvas.Handle, PChar(Caption), -1, PaintRect, DrawTextBiDiModeFlags(0) or DT_TOP or DT_LEFT or DT_SINGLELINE);
     end;
Danach Packages neu kompilieren/installieren... fertig.

GPRSNerd 24. Nov 2010 18:59

AW: Fix für PngBitBtn von thany.org
 
Danke für den Bugfix! Habs gerade ausprobiert und funktioniert jetzt einwandfrei.

<OT> Welche Version von den Components benutzt du? Die Webseite von thany.org ist down und ich habe hier ne Version von emba von 2009-09-26... </OT>

DeddyH 24. Nov 2010 19:06

AW: Fix für PngBitBtn von thany.org
 
Meine Version ist definitiv älter, die kannte noch kein Delphi 2007, weshalb auch die thany.inc noch anzupassen war.

toms 24. Nov 2010 19:26

AW: Fix für PngBitBtn von thany.org
 
www.thany.org ist nicht erreichbar...?

aurikel_Max 24. Nov 2010 19:52

AW: Fix für PngBitBtn von thany.org
 
Zitat:

Zitat von toms (Beitrag 1063809)
www.thany.org ist nicht erreichbar...?

Ja.

Zitat:

Zitat von http://downforeveryoneorjustme.com/http://www.thany.org/
It's not just you! http://www.thany.org looks down from here.


GPRSNerd 24. Nov 2010 21:05

AW: Fix für PngBitBtn von thany.org
 
Zitat:

Zitat von toms (Beitrag 1063809)
www.thany.org ist nicht erreichbar...?

Jetzt sag nicht, du kannst die Seite laden...:roll:

GPRSNerd 24. Nov 2010 21:12

AW: Fix für PngBitBtn von thany.org
 
Zitat:

Zitat von DeddyH (Beitrag 1063802)
Meine Version ist definitiv älter, die kannte noch kein Delphi 2007, weshalb auch die thany.inc noch anzupassen war.

Diese include-Datei ist in der oben referenzierten Version gar nicht mehr enthalten.

Uwe Raabe 24. Nov 2010 22:04

AW: Fix für PngBitBtn von thany.org
 
Danke für den Fix! Ich werde es bei nächster Gelegenheit in die PngComponents einbauen.


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