[Lazarus] Custom control with stepwise size adjustment
Vojtěch Čihák
vojtech.cihak at atlas.cz
Wed Sep 19 15:17:03 CEST 2018
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 at lists.lazarus-ide.org>
> Komu: lazarus at 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 at lists.lazarus-ide.org
https://lists.lazarus-ide.org/listinfo/lazarus <https://lists.lazarus-ide.org/listinfo/lazarus>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus/attachments/20180919/269b9da4/attachment-0001.html>
More information about the Lazarus
mailing list