lcl, widgetsets: hope fix misuse of TScrollBar.PageSize (#0011788 based on ideas of Sergey Bulba)

git-svn-id: trunk@16835 -
This commit is contained in:
paul 2008-10-02 01:47:29 +00:00
parent 994b5be33a
commit c9899ebca4
5 changed files with 9 additions and 9 deletions

View File

@ -60,7 +60,7 @@ begin
if not HandleAllocated then RaiseGDBException('TCustomScrollBar.CreateWnd HandleAllocated=false');
ScrollInfo.cbSize := SizeOf(ScrollInfo);
ScrollInfo.nMin := FMin;
ScrollInfo.nMax := FMax + FPageSize;
ScrollInfo.nMax := FMax;
ScrollInfo.nPage := FPageSize;
ScrollInfo.fMask := SIF_PAGE or SIF_Range;
SetScrollInfo(Handle, SB_CTL, ScrollInfo, False);
@ -115,7 +115,7 @@ begin
begin
ScrollInfo.fMask := SIF_PAGE or SIF_Range;
ScrollInfo.nMin := AMin;
ScrollInfo.nMax := AMax + APageSize;
ScrollInfo.nMax := AMax;
ScrollInfo.nPage := APageSize;
SetScrollInfo(Handle, SB_CTL, ScrollInfo, FPosition = APosition);
end;

View File

@ -437,7 +437,7 @@ begin
//set properties for the range
Adjustment := gtk_range_get_adjustment (GTK_RANGE(Pointer(Handle)));
Adjustment^.lower := Min;
Adjustment^.Upper := Max + PageSize;
Adjustment^.Upper := Max;
Adjustment^.Value := Position;
Adjustment^.step_increment := SmallChange;
Adjustment^.page_increment := LargeChange;

View File

@ -360,10 +360,10 @@ var
begin
QtScrollBar := TQtScrollBar(AScrollBar.Handle);
QtScrollBar.setPageStep(AScrollBar.PageSize);
QtScrollBar.setSingleStep((AScrollBar.PageSize div 6) + 1);
QtScrollBar.setPageStep(AScrollBar.LargeChange);
QtScrollBar.setSingleStep(AScrollBar.SmallChange);
QtScrollBar.setRange(AScrollBar.Min, AScrollBar.Max);
QtScrollBar.setRange(AScrollBar.Min, Max(AScrollBar.Min, AScrollBar.Max - AScrollBar.PageSize));
QtScrollBar.setValue(AScrollBar.Position);

View File

@ -419,10 +419,10 @@ var
begin
with AScrollBar do
begin
AMax := Max + PageSize - 1;
AMax := Max - 1;
if AMax < Min then AMax := Min;
if AMax < Max then AMax := Max;
ScrollInfo.cbSize := SizeOf(TScrollInfo);
ScrollInfo.fMask := SIF_POS or SIF_Range or SIF_PAGE;
ScrollInfo.nMin := Min;

View File

@ -333,7 +333,7 @@ var
begin
with AScrollBar do
begin
AMax := Max + PageSize - 1;
AMax := Max - 1;
if AMax < Min then AMax := Min;
if AMax < Max then AMax := Max;