=head1 Win32::GUI options
=for HTML <TT>
=head2 -align => left/center/right
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<center for Button, otherwise left>
Aligns the text in the control accordingly.
B<Applies to>: L<Button|packages/Button>, L<Label|packages/Label>, L<RichEdit|packages/RichEdit>, L<Textfield|packages/Textfield>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -autoplay => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Starts playing the animation as soon as an AVI clip is loaded.
B<Applies to>: L<Animation|packages/Animation>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -bandborders => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Display a border to separate bands.
B<Applies to>: L<Rebar|packages/Rebar>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -buttons => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<1 for TreeView, otherwise 0>
For TreeViews, enables or disables the +/- buttons to expand/collapse tree
items.
For Headers, if enabled header items look like push buttons and can be clicked.
For TabStrips, if enabled items look like push buttons.
B<Applies to>: L<Header|packages/Header>, L<TabStrip|packages/TabStrip>, L<TreeView|packages/TreeView>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -cancel => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
If 1, the button will correspond to the CANCEL action of a dialog, and its Click
event will be fired by pressing the ESC key.
B<See also>: L</-dialogui>, L<-cancel|options/_cancel_0_1>
B<Applies to>: L<Button|packages/Button>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -center => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Centers the animation in the control area.
B<Applies to>: L<Animation|packages/Animation>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -computeronly => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Only enable computers to be selected.
B<Applies to>: L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -default => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Identify the item as the default one; a default Button has a black border drawn
around it; a default MenuItem is printed with a bold font.
B<Applies to>: L<Button|packages/Button>, L<MenuItem|packages/MenuItem>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -directory => STRING
=for HTML </TT><BLOCKQUOTE>
Specifies the initial directory.
B<Applies to>: L<GetOpenFileName()|methods/GetOpenFileName_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -domainonly => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Only show computers in the current domain or workgroup.
B<Applies to>: L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -driveonly => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Only enable drives to be selected.
B<Applies to>: L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -editbox => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
If 1, the dialog will include an edit field in which
the user can type the name of an item.
B<Applies to>: L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -file => STRING
=for HTML </TT><BLOCKQUOTE>
Specifies a name that will appear on the dialog's edit field.
B<Applies to>: L<GetOpenFileName()|methods/GetOpenFileName_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -fill => black/gray/white/none
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<none>
Fills the control rectangle ("black", "gray" and "white" are the window frame
color, the desktop color and the window background color respectively).
B<Applies to>: L<Label|packages/Label>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -filter => ARRAY REFERENCE
=for HTML </TT><BLOCKQUOTE>
[TBD]
B<Applies to>: L<GetOpenFileName()|methods/GetOpenFileName_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -fixedorder => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Band position cannot be swapped.
B<Applies to>: L<Rebar|packages/Rebar>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -folderonly => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Only enable folders to be selected (eg. no computers or printers).
B<Applies to>: L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -includefiles => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
The list will include files as well folders.
B<Applies to>: L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -maxsize => [X, Y]
=for HTML </TT><BLOCKQUOTE>
Specifies the maximum size (width and height) in pixels; X and Y must be passed
in an array reference.
Example:
$Window = new Win32::GUI::Window(
# ...
-maxsize => [ 200, 200 ],
);
B<See also>: L</-maxwidth>, L</-maxheight>, L<-minsize|options/_minsize_X_Y_>
B<Applies to>: L<DialogBox|packages/DialogBox>, L<Window|packages/Window>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -minsize => [X, Y]
=for HTML </TT><BLOCKQUOTE>
Specifies the minimum size (width and height) in pixels; X and Y must be passed
in an array reference.
Example:
$Window = new Win32::GUI::Window(
# ...
-minsize => [ 100, 100 ],
);
B<See also>: L</-minwidth>, L</-minheight>, L<-maxsize|options/_maxsize_X_Y_>
B<Applies to>: L<DialogBox|packages/DialogBox>, L<Window|packages/Window>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -multiline => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
The control can have more than one line (note that in Textfield and RichEdit
controls, newline is "\r\n", not "\n"!).
B<Applies to>: L<RichEdit|packages/RichEdit>, L<TabStrip|packages/TabStrip>, L<Textfield|packages/Textfield>, L<ToolBar|packages/ToolBar>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -multisel => 0/1/2
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Specifies the selection type:
0 single selection
1 multiple selection
2 multiple selection ehnanced (with Shift, Control, etc.)
B<Applies to>: L<Listbox|packages/Listbox>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -name => STRING
=for HTML </TT><BLOCKQUOTE>
Defines the name for the control. The name is used to callback its events and
to access its methods, so it is absolutely B<necessary>, and each name must be
unique in your application.
Example:
$Window->AddButton(
-name => "Button1",
# ...
);
# methods...
$Window->Button1->Hide();
# events...
sub Button1_Click {
# ...
}
B<Applies to>: L<Animation|packages/Animation>, L<Button|packages/Button>, L<Checkbox|packages/Checkbox>, L<Class|packages/Class>, L<Combobox|packages/Combobox>, L<ComboboxEx|packages/ComboboxEx>, L<DateTime|packages/DateTime>, L<DialogBox|packages/DialogBox>, L<Graphic|packages/Graphic>, L<Groupbox|packages/Groupbox>, L<Header|packages/Header>, L<Label|packages/Label>, L<Listbox|packages/Listbox>, L<ListView|packages/ListView>, L<NotifyIcon|packages/NotifyIcon>, L<ProgressBar|packages/ProgressBar>, L<RadioButton|packages/RadioButton>, L<Rebar|packages/Rebar>, L<RichEdit|packages/RichEdit>, L<Slider|packages/Slider>, L<Splitter|packages/Splitter>, L<StatusBar|packages/StatusBar>, L<TabStrip|packages/TabStrip>, L<Textfield|packages/Textfield>, L<Toolbar|packages/Toolbar>, L<TreeView|packages/TreeView>, L<UpDown|packages/UpDown>, L<Window|packages/Window>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -notify => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Enables the Click(), DblClick(), etc. events.
B<Applies to>: L<Label|packages/Label>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -ok => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
If 1, the button will correspond to the OK action of a dialog, and its Click
event will be fired by pressing the ENTER key.
B<See also>: L</-dialogui>, L<-cancel|options/_cancel_0_1>
B<Applies to>: L<Button|packages/Button>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -owner => WINDOW
=for HTML </TT><BLOCKQUOTE>
[TBD]
B<Applies to>: L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>, L<GetOpenFileName()|methods/GetOpenFileName_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -password => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Masks the user input (like password prompts).
B<See also>: L<-passwordchar|options/_passwordchar_CHAR>
B<Applies to>: L<RichEdit|packages/RichEdit>, L<Textfield|packages/Textfield>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -passwordchar => CHAR
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<'*'>
The specified CHAR that is shown instead of the text with C<-password => 1>.
B<See also>: L<-password|options/_password_0_1>
B<Applies to>: L<RichEdit|packages/RichEdit>, L<Textfield|packages/Textfield>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -pos => [ X, Y ]
=for HTML </TT><BLOCKQUOTE>
Defines the position for the window; note that X and Y must be passed in an
array reference, eg:
-pos => [ 100, 100 ], # correct
-pos => 100, 100, # WRONG
-pos => @coords, # WRONG
-pos => \@coors, # correct
B<See also>: L</-left>, L</-top>
B<Applies to>: L<Animation|packages/Animation>, L<Button|packages/Button>, L<Checkbox|packages/Checkbox>, L<Combobox|packages/Combobox>, L<ComboboxEx|packages/ComboboxEx>, L<DateTime|packages/DateTime>, L<DialogBox|packages/DialogBox>, L<Graphic|packages/Graphic>, L<Groupbox|packages/Groupbox>, L<Header|packages/Header>, L<Label|packages/Label>, L<Listbox|packages/Listbox>, L<ListView|packages/ListView>, L<ProgressBar|packages/ProgressBar>, L<RadioButton|packages/RadioButton>, L<Rebar|packages/Rebar>, L<RichEdit|packages/RichEdit>, L<Slider|packages/Slider>, L<Splitter|packages/Splitter>, L<StatusBar|packages/StatusBar>, L<TabStrip|packages/TabStrip>, L<Textfield|packages/Textfield>, L<TreeView|packages/TreeView>, L<UpDown|packages/UpDown>, L<Window|packages/Window>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -printeronly => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Only enable printers to be selected
B<Applies to>: L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -prompt => STRING or [ STRING, WIDTH ]
=for HTML </TT><BLOCKQUOTE>
The -prompt option is very special; if a string is passed, a Win32::GUI::Label
object (with text set to the STRING passed) is created to the left of the
Textfield.
Example:
$Window->AddTextfield(
-name => "Username",
-left => 75,
-top => 150,
-prompt => "Your name:",
);
Furthermore, the value to C<-prompt> can be a reference to a list containing the
string and an additional parameter, which sets the width for the Label.
If WIDTH is negative, it is calculated relative to the Textfield left coordinate.
Example:
(Label left) (Textfield left)
-left => 75,
-prompt => [ "Your name:", 30 ], 75 105 (75+30)
-left => 75,
-prompt => [ "Your name:", -30 ], 45 (75-30) 75
Note that the Win32::GUI::Label object is named like the Textfield, with a
"_Prompt" suffix (in the example above, the Label is named "Username_Prompt").
B<Applies to>: L<RichEdit|packages/RichEdit>, L<Textfield|packages/Textfield>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -readonly => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Text can't be changed.
B<Applies to>: L<RichEdit|packages/RichEdit>, L<Textfield|packages/Textfield>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -root => PATH or CONSTANT
=for HTML </TT><BLOCKQUOTE>
The root directory for browsing; this can be either a path or one of the
CSIDL_* constants for special folders (see the Win32::FileOp module by Jenda for
a list of such constants).
B<Applies to>: L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -size => [ X, Y ]
=for HTML </TT><BLOCKQUOTE>
Defines the size for the window; note that X and Y must be passed in an
array reference, eg:
-size => [ 100, 100 ], # correct
-size => 100, 100, # WRONG
-size => @coords, # WRONG
-size => \@coors, # correct
B<See also>: L</-width>, L</-height>
B<Applies to>: L<Animation|packages/Animation>, L<Button|packages/Button>, L<Checkbox|packages/Checkbox>, L<Combobox|packages/Combobox>, L<ComboboxEx|packages/ComboboxEx>, L<DateTime|packages/DateTime>, L<DialogBox|packages/DialogBox>, L<Graphic|packages/Graphic>, L<Groupbox|packages/Groupbox>, L<Header|packages/Header>, L<Label|packages/Label>, L<Listbox|packages/Listbox>, L<ListView|packages/ListView>, L<ProgressBar|packages/ProgressBar>, L<RadioButton|packages/RadioButton>, L<Rebar|packages/Rebar>, L<RichEdit|packages/RichEdit>, L<Slider|packages/Slider>, L<Splitter|packages/Splitter>, L<StatusBar|packages/StatusBar>, L<TabStrip|packages/TabStrip>, L<Textfield|packages/Textfield>, L<TreeView|packages/TreeView>, L<UpDown|packages/UpDown>, L<Window|packages/Window>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -smooth => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Uses a smooth bar instead of the default segmented bar.
B<Applies to>: L<ProgressBar|packages/ProgressBar>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -sunken => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Draws a half-sunken border around the control.
B<Applies to>: L<Label|packages/Label>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -text => STRING
=for HTML </TT><BLOCKQUOTE>
The text that will appear in the control or item.
B<Applies to>: L<Animation|packages/Animation>, L<Button|packages/Button>, L<Checkbox|packages/Checkbox>, L<Combobox|packages/Combobox>, L<ComboboxEx|packages/ComboboxEx>, L<DateTime|packages/DateTime>, L<DialogBox|packages/DialogBox>, L<Graphic|packages/Graphic>, L<Groupbox|packages/Groupbox>, L<Header|packages/Header>, L<Label|packages/Label>, L<Listbox|packages/Listbox>, L<ListView|packages/ListView>, L<ProgressBar|packages/ProgressBar>, L<RadioButton|packages/RadioButton>, L<Rebar|packages/Rebar>, L<RichEdit|packages/RichEdit>, L<Slider|packages/Slider>, L<Splitter|packages/Splitter>, L<StatusBar|packages/StatusBar>, L<TabStrip|packages/TabStrip>, L<Textfield|packages/Textfield>, L<Toolbar|packages/Toolbar>, L<TreeView|packages/TreeView>, L<UpDown|packages/UpDown>, L<Window|packages/Window>, L<InsertBand()|methods/InsertBand_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -tip => STRING
=for HTML </TT><BLOCKQUOTE>
The text that will appear as tooltip when the mouse is on the NotifyIcon.
B<Applies to>: L<NotifyIcon|packages/NotifyIcon>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -title => STRING
=for HTML </TT><BLOCKQUOTE>
The title for the window or dialog box.
B<Applies to>: L<DialogBox|packages/DialogBox>, L<Window|packages/Window>, L<BrowseForFolder()|methods/BrowseForFolder_OPTIONS_>, L<GetOpenFileName()|methods/GetOpenFileName_OPTIONS_>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -topmost => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
The window "stays on top" even when deactivated.
B<Applies to>: L<DialogBox|packages/DialogBox>, L<Window|packages/Window>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -transparent => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Draws the animation using a transparent background.
B<Applies to>: L<Animation|packages/Animation>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -truncate => 0/1/word/path
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<0>
Specifies how the text is to be truncated:
=over 4
0 the text is not truncated
1 the text is truncated at the end.
word the text is truncated at the end of a word.
path the text is truncated before the last "\"
(used to shorten paths).
=back
NOTE: this style does not seem to be working.
B<Applies to>: L<Label|packages/Label>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -valign => top/center/bottom
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<center>
Defines the vertical alignment for the text in the Button.
B<Applies to>: L<Button|packages/Button>, L<CheckBox|packages/CheckBox>, L<RadioButton|packages/RadioButton>
=for HTML </BLOCKQUOTE>
=for HTML <TT>
=head2 -wrap => 0/1
=for HTML </TT><BLOCKQUOTE>
B<Default value>: C<1 for Label, 0 for UpDown>
For Labels, the text wraps automatically to a new line.
For UpDown controls, the counter wraps when it reaches the lower or upper
limit.
B<Applies to>: L<Label|packages/Label>, L<UpDown|packages/UpDown>
=for HTML </BLOCKQUOTE>