Try set Constraints - set MinHeight=MaxHeight=your calculated height, and the
same for Width.
But it will maybe fool Lazarus autosizing mechanism.
V.
______________________________________________________________
Od: "gabor via Lazarus" <lazarus@lists.lazarus-ide.org>
Komu: lazarus@lists.lazarus-ide.org
Datum: 19.09.2018 14:29
Předmět: [Lazarus] Custom control with stepwise size adjustment
Hi.
How to properly create a control with step-size adjustment? I mean a
control whose width is a multiple of, eg. 16 (16,32,48...).
In delphi, I simply override TCustomControl.SetBounds method.
procedure TMyControl.SetBounds(aTop, aLeft, aWidth, aHeight: Integer);
begin
aWidth := (aWidth div 16) * 16;
if aWidth = 0 then
aWidth := 16;
aHeight := (aHeight div 16) * 16;
if aHeight = 0 then
aHeight := 16;
inherited SetBounds(aTop, aLeft, aWidth, aHeight);
end;
Unfortunately, the same does not work well with LCL. Especially in
connection with Anchors or in form designer.
So how to deal with it?
Regards, Michał.
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus
<https://lists.lazarus-ide.org/listinfo/lazarus>
--
_______________________________________________
Lazarus mailing list
Lazarus@lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus