Win32::GUI::GridLayout - Grid layout support for Win32::GUI
use Win32::GUI:: use Win32::GUI::GridLayout;
# 1. make a "static" grid $grid = new Win32::GUI::GridLayout(400, 300, 3, 3, 0, 0); $win = new Win32::GUI::Window( $win->AddLabel( -name => "label1", -text => "Label 1", -width => $grid->width(35), -height => $grid->height(11), -left => $grid->col(1, "left"), -top => $grid->row(1, "top"), ); # 2. make a "dynamic" grid $grid = apply Win32::GUI::GridLayout($win, 3, 3, 0, 0); $win->AddLabel( -name => "label1", -text => "Label 1", ); $grid->add($win->label1, 1, 1, "left top");
$grid->recalc();
Adds CONTROL to the grid at (COL, ROW). ALIGN can specify both horizontal
and vertical alignment (see the col()
and row()
methods), separated by at least one blank and/or a comma.
Example:
$grid->add($win->label1, 1, 1, "left top");
Positions the control at the Nth column in the grid, optionally with an
ALIGN; this can be feed to a
-left
option when creating a control.
ALIGN can be left
, center
or right
(can be shortened to l
, c
, r
); default is left
.
Note that for alignment to work properly, the width()
and
height()
methods must have been previously called.
Example:
$win->AddLabel( -name => "label1", -text => "Label 1", -width => $grid->width(35), -height => $grid->height(11), -left => $grid->col(1, "left"), -top => $grid->row(1, "top"), );
Draws the GridLayout in the associated window (may be useful for
debugging); is only meaningful if the GridLayout was created with the
apply()
constructor.
Sets the height of the control for subsequent alignment; this can be feed to a -height option when creating a control.
Example: see col().
Recalculates the grid and repositions all the add()ed
controls, taking into account the actual window and controls sizes; is only
meaningful if the GridLayout was created with the apply()
constructor.
Example:
sub Window_Resize { $grid->recalc(); }
Positions the control at the Nth row in the grid, optionally with an ALIGN;
this can be feed to a
-top
option when creating a control.
ALIGN can be top
, center
or bottom
(can be shortened to t, c, b); default is top.
Note that for alignment to work properly, the width()
and
height()
methods must have been previously called.
Example: see col().
Sets the width of the control for subsequent alignment; this can be feed to a -width option when creating a control.
Example: see col().
Win32::GUI::GridLayout version 0.03, 13 April 1999.
Mike Kangas ( kangas@anlon.com
); additional coding by Aldo Calpini ( dada@divinf.it
).