AGB  ·  Datenschutz  ·  Impressum  







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

Fix für PngBitBtn von thany.org

Ein Thema von DeddyH · begonnen am 24. Nov 2010 · letzter Beitrag vom 24. Nov 2010
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#1

Fix für PngBitBtn von thany.org

  Alt 24. Nov 2010, 09:49
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.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Fix für PngBitBtn von thany.org

  Alt 24. Nov 2010, 19:59
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>
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
 
Delphi 12 Athens
 
#3

AW: Fix für PngBitBtn von thany.org

  Alt 24. Nov 2010, 20:06
Meine Version ist definitiv älter, die kannte noch kein Delphi 2007, weshalb auch die thany.inc noch anzupassen war.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#4

AW: Fix für PngBitBtn von thany.org

  Alt 24. Nov 2010, 20:26
www.thany.org ist nicht erreichbar...?
Thomas
  Mit Zitat antworten Zitat
aurikel_Max

Registriert seit: 9. Okt 2009
86 Beiträge
 
#5

AW: Fix für PngBitBtn von thany.org

  Alt 24. Nov 2010, 20:52
www.thany.org ist nicht erreichbar...?
Ja.

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

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#6

AW: Fix für PngBitBtn von thany.org

  Alt 24. Nov 2010, 22:05
www.thany.org ist nicht erreichbar...?
Jetzt sag nicht, du kannst die Seite laden...
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von GPRSNerd
GPRSNerd

Registriert seit: 30. Dez 2004
Ort: Ruhrpott
239 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Fix für PngBitBtn von thany.org

  Alt 24. Nov 2010, 22:12
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.
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Fix für PngBitBtn von thany.org

  Alt 24. Nov 2010, 23:04
Danke für den Fix! Ich werde es bei nächster Gelegenheit in die PngComponents einbauen.
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 03:31 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