mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-22 11:59:18 +02:00
LCL: Fix band height evaluation in ControlBar. Now single row snaps to inner control height.
This commit is contained in:
parent
e82e8c312e
commit
3b4fc416a8
@ -133,8 +133,12 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
function TCustomControlBar.CalcBandHeightSnapped(AControl: TControl): Integer;
|
function TCustomControlBar.CalcBandHeightSnapped(AControl: TControl): Integer;
|
||||||
|
var
|
||||||
|
rowsz, rowcnt: integer;
|
||||||
begin
|
begin
|
||||||
Result := (1 + trunc((AControl.Height + 2 * cBandBorderV) div RowSize)) * RowSize;
|
rowsz := RowSize;
|
||||||
|
rowcnt := (AControl.Height - (2 * cBandBorderV) + (rowsz-1)) div rowsz;
|
||||||
|
Result := rowcnt * rowsz;
|
||||||
end;
|
end;
|
||||||
|
|
||||||
function TCustomControlBar.CalcInnerBevelWidth: Integer;
|
function TCustomControlBar.CalcInnerBevelWidth: Integer;
|
||||||
@ -485,7 +489,7 @@ begin
|
|||||||
for i := 0 to ControlCount - 1 do begin
|
for i := 0 to ControlCount - 1 do begin
|
||||||
aBand := TCtrlBand.Create;
|
aBand := TCtrlBand.Create;
|
||||||
aBand.Control := Controls[i];
|
aBand.Control := Controls[i];
|
||||||
aBand.Height := CalcBandHeight(Controls[i]);
|
aBand.Height := CalcBandHeight(aBand.Control);
|
||||||
aBand.Width := cFullGrabber + Controls[i].Width + cBandBorderH;
|
aBand.Width := cFullGrabber + Controls[i].Width + cBandBorderH;
|
||||||
aBand.Top := Controls[i].Top - (aBand.Height - Controls[i].Height) div 2;
|
aBand.Top := Controls[i].Top - (aBand.Height - Controls[i].Height) div 2;
|
||||||
aBand.Left := Controls[i].Left - aIndent;
|
aBand.Left := Controls[i].Left - aIndent;
|
||||||
|
Loading…
Reference in New Issue
Block a user