Hi, I came across something unexpected today. I was under the impression that the order in which you set the Align property, that's the order in which the components align themselves with the parent and neighbouring components.
In this example, I have a Form with two Panels (P1 & P2). Order in which I did things: * Create new Form * Drop panel P1 on the Form * Set P1.Align := alRight * Drop panel P2 on the Form * Set P2.Align := alBottom. What I expected was Figure 1, where P1 is the full height of the form and P2 is the Width of the Form minus P1.Width. But instead I got Figure 2. I tried this in both Delphi 7 and Lazarus. It seems the alignment order is irrelevant to the component creation order or irrelevant to what order you set the Align properties. If fact, alignment is always process in the following hard-coded order: Top, Bottom, Left, Right, Client... As I said, for some reason I was under the impression (even from delphi days) that the order in which you activate the Align properties, that's the order in which the alignment is applied. So what must I do to get Figure 1? Use Anchor's instead of Align properties? [... you need a mono font to see ascii art...] Figure 1: +-------------+-------+ | | | | | | | client | P1 | | | | | | | | | | +-------------+ | | P2 | | +-------------+-------+ Figure 2: +-------------+-------+ | | | | | | | client | P1 | | | | | | | | | | +-------------+-------+ | P2 | +---------------------+ -- Regards, - Graeme - _______________________________________________ fpGUI - a cross-platform Free Pascal GUI toolkit http://opensoft.homeip.net:8080/fpgui/ -- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus
