[Lazarus] Where to place definition of a record?

Dave Coventry dgcoventry at gmail.com
Sat Jan 24 23:22:09 CET 2009


On Sat, 24 Jan 2009 18:18:09 +0200
Reenen Laurie <rlaurie at gmail.com> wrote:

> Yes they can be, but *I* am not able to get them to work without them
> flickering 10x a second during resizing.

This can be reduced with DisableAlign, EnableAlign.

 
> Do I put it in the parent's OnResize? Or the child's?

I added some hints to the help description.

For example this line
  Label1.Width:=GroupBox1.ClientWidth;
must be put into the GroupBox1.OnResize.
Using any other OnResize for the above line will create cases where
your label is not resized properly.

So, normally you need to set several every OnResize event of every
parent that has special childs.

 
> Also, for each of my panels I must write a new "onresize" code.

Yes, unless the childs can be setup with the normal TControl
properties.

 
> BUT the anchoring system can be modified to do this...
> 
> Select (for each anchor) 2 points, and a %.  So:
> 
> Panel1 contains 2 listboxes...
> 
> Listbox1 Topanchor = Panel1.Top, Panel1.Height, 1%
> Listbox1.BottomAnchor = Panel1.Top, Panel1.Height, 33%
> 
> This is probably not the most eliquent, but shouldbe able to work?

procedure ... Panel1Resize(...);
begin
  with ListBox1 do 
    SetBounds(Left,Parent.ClientWidth div 100,
              Width,Parent.ClientWidth div 3); 
end;


Mattias



More information about the Lazarus mailing list