LazControls: Fix LCLScaling of TColorButton.ButtonColorSize and .BorderWidth.

This commit is contained in:
wp_xyz 2022-11-07 22:25:58 +01:00
parent e8c184e29f
commit 58f237f04c
2 changed files with 13 additions and 0 deletions

View File

@ -307,6 +307,8 @@ type
procedure SetButtonColorSize(const AValue: Integer);
protected
class procedure WSRegisterClass; override;
procedure DoAutoAdjustLayout(const AMode: TLayoutAdjustmentPolicy;
const AXProportion, AYProportion: Double); override;
function DrawGlyph(ACanvas: TCanvas; const AClient: TRect; const AOffset: TPoint;
AState: TButtonState; ATransparent: Boolean; BiDiFlags: Longint): TRect; override;
function GetDisabledPattern: TBitmap; virtual;

View File

@ -117,6 +117,17 @@ begin
//debugln(['TColorButton.GetGlyphSize ',DbgSName(Self),' Drawing=',Drawing,' PaintRect=',dbgs(PaintRect),' Result=',dbgs(Result),' BoundsRect=',dbgs(BoundsRect),' Spacing=',Spacing,' Margin=',Margin]);
end;
procedure TColorButton.DoAutoAdjustLayout(const AMode: TLayoutAdjustmentPolicy;
const AXProportion, AYProportion: Double);
begin
inherited;
if AMode in [lapAutoAdjustWithoutHorizontalScrolling, lapAutoAdjustForDPI] then
begin
FButtonColorSize := round(FButtonColorSize * AXProportion);
FBorderWidth := round(FBorderWidth * AXProportion);
end;
end;
function TColorButton.DrawGlyph(ACanvas: TCanvas; const AClient: TRect;
const AOffset: TPoint; AState: TButtonState; ATransparent: Boolean;
BiDiFlags: Longint): TRect;