Skip to content

Commit edd538f

Browse files
Fixed TSpTBXPageScroller to support High DPI.
Added vclimg and vclwinx dependencies to the package.
1 parent b86f89b commit edd538f

3 files changed

Lines changed: 11 additions & 7 deletions

File tree

Packages/RAD Studio/SpTBXLib.dpk

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,9 @@ requires
3030
vcl,
3131
tb2k_d12,
3232
rtl,
33-
vclx;
33+
vclx,
34+
vclimg,
35+
vclwinx;
3436

3537
contains
3638
SpTBXItem in '..\..\Source\SpTBXItem.pas',

Packages/RAD Studio/SpTBXLib.dproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,8 @@
8686
<DCCReference Include="tb2k_d12.dcp"/>
8787
<DCCReference Include="rtl.dcp"/>
8888
<DCCReference Include="vclx.dcp"/>
89+
<DCCReference Include="vclimg.dcp"/>
90+
<DCCReference Include="vclwinx.dcp"/>
8991
<DCCReference Include="..\..\Source\SpTBXItem.pas"/>
9092
<DCCReference Include="..\..\Source\SpTBXControls.pas"/>
9193
<DCCReference Include="..\..\Source\SpTBXTabs.pas"/>

Source/SpTBXPageScroller.pas

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ TSpTBXPageScroller = class(TSpTBXCustomPageScroller)
193193
end;
194194

195195
{ Painting helpers }
196-
procedure SpTBXPaintPageScrollButton(ACanvas: TCanvas; const ARect: TRect; ButtonType: TSpTBXPageScrollerButtonType; Hot: Boolean);
196+
procedure SpTBXPaintPageScrollButton(ACanvas: TCanvas; const ARect: TRect; ButtonType: TSpTBXPageScrollerButtonType; Hot: Boolean; DPI: Integer);
197197

198198
implementation
199199

@@ -228,7 +228,7 @@ function GetMinControlWidth(Control: TControl): Integer;
228228
end;
229229

230230
procedure SpTBXPaintPageScrollButton(ACanvas: TCanvas; const ARect: TRect;
231-
ButtonType: TSpTBXPageScrollerButtonType; Hot: Boolean);
231+
ButtonType: TSpTBXPageScrollerButtonType; Hot: Boolean; DPI: Integer);
232232
var
233233
R: TRect;
234234
Flags: Integer;
@@ -257,12 +257,12 @@ procedure SpTBXPaintPageScrollButton(ACanvas: TCanvas; const ARect: TRect;
257257
else
258258
Details := SpTBXThemeServices.GetElementDetails(tbPushButtonNormal);
259259

260-
CurrentSkin.PaintThemedElementBackground(ACanvas, ARect, Details);
260+
CurrentSkin.PaintThemedElementBackground(ACanvas, ARect, Details, DPI);
261261
CurrentSkin.GetThemedElementTextColor(Details, C);
262262
end;
263263
sknSkin:
264264
begin
265-
SpDrawXPButton(ACanvas, R, True, False, Hot, False, False, False);
265+
SpDrawXPButton(ACanvas, R, True, False, Hot, False, False, False, DPI);
266266
if Hot then
267267
C := CurrentSkin.GetTextColor(skncButton, sknsHotTrack)
268268
else
@@ -563,14 +563,14 @@ procedure TSpTBXCustomPageScroller.DrawNCArea(const DrawToDC: Boolean;
563563
BR := R;
564564
if Orientation = tpsoVertical then BR.Bottom := BR.Top + ButtonSize
565565
else BR.Right := BR.Left + ButtonSize;
566-
SpTBXPaintPageScrollButton(ACanvas, BR, CBtns[Orientation, False], FScrollDirection < 0);
566+
SpTBXPaintPageScrollButton(ACanvas, BR, CBtns[Orientation, False], FScrollDirection < 0, CurrentPPI);
567567
end;
568568
if tpsbNext in FVisibleButtons then
569569
begin
570570
BR := R;
571571
if Orientation = tpsoVertical then BR.Top := BR.Bottom - ButtonSize
572572
else BR.Left := BR.Right - ButtonSize;
573-
SpTBXPaintPageScrollButton(ACanvas, BR, CBtns[Orientation, True], FScrollDirection > 0);
573+
SpTBXPaintPageScrollButton(ACanvas, BR, CBtns[Orientation, True], FScrollDirection > 0, CurrentPPI);
574574
end;
575575
ACanvas.Brush.Color := clBlue;
576576
ACanvas.Pen.Color := clBlue;

0 commit comments

Comments
 (0)