[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