mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-09-02 11:20:32 +02:00
lcl: dbgrids: hide vertical scrollbar for ssNone and ssHorizontal style. Issue #32134
git-svn-id: trunk@55539 -
This commit is contained in:
parent
a5fc93d0b2
commit
e92cc53a78
@ -1668,30 +1668,28 @@ begin
|
||||
|
||||
GetScrollBarParams(aRange, aPage, aPos);
|
||||
|
||||
FillChar(ScrollInfo, SizeOf(ScrollInfo), 0);
|
||||
ScrollInfo.cbSize := SizeOf(ScrollInfo);
|
||||
if (ScrollBars in [ssBoth, ssVertical])
|
||||
or ((Scrollbars in [ssAutoVertical, ssAutoBoth]) and (aRange>aPage)) then
|
||||
begin
|
||||
FillChar(ScrollInfo, SizeOf(ScrollInfo), 0);
|
||||
ScrollInfo.cbSize := SizeOf(ScrollInfo);
|
||||
|
||||
{TODO: try to move this out}
|
||||
{$ifdef WINDOWS}
|
||||
ScrollInfo.fMask := SIF_ALL or SIF_DISABLENOSCROLL;
|
||||
ScrollInfo.ntrackPos := 0;
|
||||
{$else}
|
||||
ScrollInfo.fMask := SIF_ALL or SIF_UPDATEPOLICY;
|
||||
//ScrollInfo.ntrackPos := SB_POLICY_CONTINUOUS;
|
||||
ScrollInfo.ntrackPos := SB_POLICY_DISCONTINUOUS;
|
||||
{$endif}
|
||||
ScrollInfo.nMin := 0;
|
||||
ScrollInfo.nMax := aRange;
|
||||
ScrollInfo.nPos := Min(aPos,aRange-aPage);
|
||||
ScrollInfo.nPage := aPage;
|
||||
SetScrollInfo(Handle, SB_VERT, ScrollInfo, True);
|
||||
end;
|
||||
|
||||
{TODO: try to move this out}
|
||||
{$ifdef WINDOWS}
|
||||
ScrollInfo.fMask := SIF_ALL or SIF_DISABLENOSCROLL;
|
||||
ScrollInfo.ntrackPos := 0;
|
||||
{$else}
|
||||
ScrollInfo.fMask := SIF_ALL or SIF_UPDATEPOLICY;
|
||||
//ScrollInfo.ntrackPos := SB_POLICY_CONTINUOUS;
|
||||
ScrollInfo.ntrackPos := SB_POLICY_DISCONTINUOUS;
|
||||
{$endif}
|
||||
ScrollInfo.nMin := 0;
|
||||
ScrollInfo.nMax := aRange;
|
||||
ScrollInfo.nPos := Min(aPos,aRange-aPage);
|
||||
ScrollInfo.nPage := aPage;
|
||||
// the redraw argument of SetScrollInfo means under gtk
|
||||
// if the scrollbar is visible or not, in windows it
|
||||
// seems to mean if the scrollbar is redrawn or not
|
||||
// to reflect the scrollbar changes made
|
||||
SetScrollInfo(Handle, SB_VERT, ScrollInfo,
|
||||
(ScrollBars in [ssBoth, ssVertical]) or
|
||||
((Scrollbars in [ssAutoVertical, ssAutoBoth]) and (aRange>aPAge))
|
||||
);
|
||||
FOldPosition := aPos;
|
||||
{$ifdef dbgDBGrid}
|
||||
DebugLnExit('%s.UpdateScrollBarRange DONE Handle=%d aRange=%d aPage=%d aPos=%d',
|
||||
|
Loading…
Reference in New Issue
Block a user