Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.623 Beiträge
Delphi 12 Athens
|
Fix für PngBitBtn von thany.org
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
|
|
Zitat
|