Not quite. They actually mean quite different things. Childalign is the group equivalent of align; justify is something else entirely.

Let's say you have a pile of blocks on a table. Let's pretend the table is the group, and the blocks are the controls.

Line the blocks up in a single row from left to right somewhere on the table. That means that the table is a horizontally-oriented group.

Now, childalign tells you where the row is vertically on the table. It's either top, bottom, or center. If childalign is top (the default) then all the blocks are arrayed along the top edge of the table. Moving one of those blocks to the bottom edge of the table, without moving it horizontally, would correspond to changing align to bottom for that control.

Justify tells you how the row is spaced out horizontally across the table. If the blocks are evenly spaced, it's full justification. If they're all bunched up at the left side, it's left, all bunched up at the right side is right, and all bunched up in the center is center.



On 12/21/2009 9:56 AM, Chip Orange wrote:
thanks Ron for the quick response.

So, is the difference then that align applies to the object's placement
within it's parent, and justify refers to the objects children, and how they
are placed within it (that is, justify only applies to groups, while align
can apply to groups and controls)?

thanks.

Chip


-----Original Message-----
From: Ron Parker [mailto:[email protected]]
Sent: Monday, December 21, 2009 8:23 AM
To: [email protected]
Subject: Re: help with xml dialogs

On 12/20/2009 1:49 PM, Allison and Chip Orange wrote:
can anyone give me an explanation as to the differences between the
"align"
property and the "justify" property?  can't say that there's very much
in the help file, and what there is defines these terms in terms of
themselves (e.g. the justify controls justification).

"Align" applies to the children. When you say align="right", you are saying
"place this control or group at the right edge of its containing group."
(Note that that only makes sense if the containing group is oriented
vertically, but we won't stop you from trying it in a horizontal group
because at the time we parse the control we might not know the orientation
of its parent group. When we attempt to place the control, though, we'll
ignore alignment that's incompatible with the parent's orientation.)

There's also a "childalign" property, which applies to groups. Saying
childalign="right" means "set the default alignment for all children of this
group to right." Again, right/left alignment are valid for vertical groups,
and top/bottom alignment are valid for horizontal groups. Center alignment
is, of course, valid for both types. (In this case, we know that right
alignment isn't compatible with horizontal groups, and we know that the
group you're saying it in is so oriented, so we'll assume you meant to say
"bottom".)

The best example of a dialog with right alignment I can think are the
various tabs in the System control panel in Windows XP, where all of the
buttons are aligned at the right edge of their containing groups.

Finally, there's "justify".  "Justify" applies to groups, too, but it's
subtly different. If you say justify="right" you are saying "if there's
extra space in this group, put it at the left side so that all of the
controls in this group pile up against the right edge." The important
distinction is this: right/left justification applies to horizontal groups,
unlike right/left alignment. Similarly, top/bottom justification applies to
vertical groups, and center justification again applies to both. Note that
there's a sixth option for justification: "full".  That says "if there's
extra space in this group, split it up between all of the controls so that
the leftmost control is at the left side of the group and the rightmost
control is at the right side of the group and everything else is spread out
evenly in between. (or the equivalent for vertically-oriented groups.)"

You'd likely use right justification for the OK/Cancel buttons in a standard
Windows dialog, which are typically oriented in a horizontal group at the
bottom right corner of the dialog.


Reply via email to