================================================================================
-align => left/center/right (default center for Button, otherwise left) 

Aligns the text in the control accordingly. 

=APPLY Button, Label, Textfield, RichEdit 

================================================================================
-autoplay => 0/1 (default 0)

Starts playing the animation as soon as an AVI clip is loaded.

=APPLY Animation

================================================================================
-bandborders => 0/1 (default 0) 

Display a border to separate bands. 

=APPLY Rebar

================================================================================
-buttons => 0/1 (default 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.

=APPLY TreeView, TabStrip, Header

================================================================================
-cancel => 0/1 (default 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.

=SEE_ALSO -dialogui, -cancel
=APPLY Button

================================================================================
-center => 0/1 (default 0)

Centers the animation in the control area.

=APPLY Animation

================================================================================
-default => 0/1 (default 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.

=APPLY Button, MenuItem

================================================================================
-fill => black/gray/white/none (default none) 

Fills the control rectangle ("black", "gray" and "white" are the window frame 
color, the desktop color and the window background color respectively). 

=APPLY Label

================================================================================
-fixedorder => 0/1 (default 0) 

Band position cannot be swapped.

=APPLY Rebar

================================================================================
-minsize => [X, Y]

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 ],
    );

=SEE_ALSO -minwidth, -minheight, -maxsize
=APPLY Window, DialogBox

================================================================================
-maxsize => [X, Y]

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 ],
    );

=SEE_ALSO -maxwidth, -maxheight, -minsize
=APPLY Window, DialogBox

================================================================================
-multiline => 0/1 (default 0) 

The control can have more than one line (note that in Textfield and RichEdit
controls, newline is "\r\n", not "\n"!). 

=APPLY Textfield, RichEdit, TabStrip, ToolBar

================================================================================
-multisel => 0/1/2 (default 0) 

Specifies the selection type: 

    0 single selection
    1 multiple selection
    2 multiple selection ehnanced (with Shift, Control, etc.)

=APPLY Listbox

================================================================================
-name => STRING

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 {
        # ...
    }

=APPLY [G], Class, NotifyIcon

================================================================================
-notify => 0/1 (default 0) 

Enables the Click(), DblClick(), etc. events. 

=APPLY Label

================================================================================
-ok => 0/1 (default 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.

=SEE_ALSO -dialogui, -cancel
=APPLY Button

================================================================================
-password => 0/1 (default 0) 

Masks the user input (like password prompts). 

=SEE_ALSO -passwordchar
=APPLY Textfield, RichEdit

================================================================================
-passwordchar => CHAR (default '*') 

The specified CHAR that is shown instead of the text with C<-password => 1>.

=SEE_ALSO -password
=APPLY Textfield, RichEdit

================================================================================
-prompt => STRING or [ STRING, WIDTH ]

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"). 

=APPLY Textfield, RichEdit

================================================================================
-readonly => 0/1 (default 0)

Text can't be changed.

=APPLY Textfield, RichEdit

================================================================================
-smooth => 0/1 (default 0) 

Uses a smooth bar instead of the default segmented bar. 

=APPLY ProgressBar

================================================================================
-sunken => 0/1 (default 0) 

Draws a half-sunken border around the control. 

=APPLY Label

================================================================================
-tip => STRING 

The text that will appear as tooltip when the mouse is on the NotifyIcon.

=APPLY NotifyIcon

================================================================================
-title => STRING

The title for the window or dialog box.

=APPLY Window, DialogBox, BrowseForFolder()

================================================================================
-topmost => 0/1 (default 0) 

The window "stays on top" even when deactivated.

=APPLY Window, DialogBox

================================================================================
-transparent => 0/1 (default 0)

Draws the animation using a transparent background.

=APPLY Animation

================================================================================
-truncate => 0/1/word/path (default 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.

=APPLY Label

================================================================================
-valign => top/center/bottom (default center)

Defines the vertical alignment for the text in the Button.

=APPLY Button, RadioButton, CheckBox

================================================================================
-wrap => 0/1 (default 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.

=APPLY Label, UpDown
 

================================================================================
-computeronly => 0/1 (default 0)

Only enable computers to be selected.

=APPLY BrowseForFolder()

================================================================================
-domainonly => 0/1 (default 0)

Only show computers in the current domain or workgroup.

=APPLY BrowseForFolder()

================================================================================
-driveonly => 0/1 (default 0)

Only enable drives to be selected.

=APPLY BrowseForFolder()

================================================================================
-editbox => 0/1 (default 0)

If 1, the dialog will include an edit field in which
the user can type the name of an item.

=APPLY BrowseForFolder()

================================================================================
-folderonly => 0/1 (default 0)

Only enable folders to be selected (eg. no computers or printers).

=APPLY BrowseForFolder()

================================================================================
-includefiles => 0/1 (default 0)

The list will include files as well folders.

=APPLY BrowseForFolder()

================================================================================
-owner => WINDOW

[TBD]

=APPLY BrowseForFolder(), GetOpenFileName()

================================================================================
-pos => [ X, Y ]

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

=SEE_ALSO -left, -top
=APPLY [S]

================================================================================
-printeronly => 0/1 (default 0)

Only enable printers to be selected

=APPLY BrowseForFolder()

================================================================================
-root => PATH or CONSTANT

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).

=APPLY BrowseForFolder()

================================================================================
-size => [ X, Y ]

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

=SEE_ALSO -width, -height
=APPLY [S]

================================================================================
-text => STRING

The text that will appear in the control or item.

=APPLY [G]

================================================================================
-directory => STRING

Specifies the initial directory.

=APPLY GetOpenFileName()

================================================================================
-file => STRING

Specifies a name that will appear on the dialog's edit field.

=APPLY GetOpenFileName()

================================================================================
-filter => ARRAY REFERENCE

[TBD]

=APPLY GetOpenFileName()
