[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.
> 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
 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);
   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);
 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