From a7056cddc0df8f1152a252f2836060c8f96a26ac Mon Sep 17 00:00:00 2001 From: wp_xxyyzz Date: Mon, 1 Nov 2021 21:08:32 +0000 Subject: [PATCH] ExCtrls: Fix high-dpi scaling of TCheckComboBoxEx.ButtonWidth. git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@8141 8e941d3f-bd1b-0410-a28a-d453659cc2b4 --- components/exctrls/source/excheckcombo.pas | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/components/exctrls/source/excheckcombo.pas b/components/exctrls/source/excheckcombo.pas index 7ed980d64..23b28acbe 100644 --- a/components/exctrls/source/excheckcombo.pas +++ b/components/exctrls/source/excheckcombo.pas @@ -83,6 +83,8 @@ type procedure ButtonClick; override; procedure CloseUp; procedure CreateHandle; override; + procedure DoAutoAdjustLayout(const AMode: TLayoutAdjustmentPolicy; + const AXProportion, AYProportion: Double); override; procedure DoEnter; override; procedure DoChange; virtual; procedure DoItemChange(AIndex: Integer); virtual; @@ -569,6 +571,14 @@ begin Buddy.Width := GetSystemMetrics(SM_CXVSCROLL); end; +procedure TCheckComboBoxEx.DoAutoAdjustLayout(const AMode: TLayoutAdjustmentPolicy; + const AXProportion, AYProportion: Double); +begin + inherited; + if FButtonWidth < 0 then + Buddy.Width := GetSystemMetrics(SM_CXVSCROLL); +end; + procedure TCheckComboBoxEx.DoChange; begin if Assigned(FOnChange) then FOnChange(self);