EVENTS -- Activate, BeginTrack, ButtonClick, Change, Changing, Click, Collapse, Collapsing, ColumnClick, DblClick, Deactivate, DividerDblClick, EndTrack, Expand, Expanding, GotFocus, HeightChange, ItemClick, ItemDblClick, KeyDown, LostFocus, Maximize, Minimize, MouseDown, MouseEvent, MouseUp, NeedText, NodeClick, Paint, Resize, RightClick, Scroll, Terminate, Timer, Track
METHODS -- AbortPath, Add, AddAnimation, AddBitmap, AddButton, AddButtons, AddCheckbox, AddCombobox, AddHeader, AddLabel, AddListView, AddListbox, AddMenu, AddMenuButton, AddMenuItem, AddNotifyIcon, AddProgressBar, AddRadioButton, AddRebar, AddRichEdit, AddSlider, AddStatusBar, AddString, AddTabStrip, AddTextfield, AddTimer, AddToolbar, AddTreeView, AddUpDown, Arc, Arrange, ArrangeIconicWindows, AttachThreadInput, BackColor, BandCount, Base, BeginPath, BkMode, BringWindowToTop, Buddy, Caption, Change, ChangeCursor, ChangeIcon, ChangeItem, ChangeSmallIcon, CharFromPos, Checked, ChooseColor, ChooseFont, Circle, Clear, Close, CloseEnhMetaFile, CloseFigure, CloseWindow, Collapse, ColumnWidth, CommDlgExtendedError, Count, Create, CreateEnhMetaFile, DeleteBand, DeleteColumn, DeleteEnhMetaFile, DeleteItem, Dialog, Disable, DrawMenuBar, EditLabel, Ellipse, Enable, Enabled, EndPath, EnsureVisible, Expand, Fill, FillPath, FindString, FindStringExact, FindWindow, FirstVisible, FirstVisibleItem, FirstVisibleLine, Format, GetActiveWindow, GetCharFormat, GetCheck, GetChild, GetClassName, GetClientRect, GetCursor, GetCursorPos, GetDC, GetDIBits, GetDate, GetDesktopWindow, GetDlgItem, GetEffectiveClientRect, GetFirstVisible, GetFocus, GetFont, GetFontName, GetForegroundWindow, GetItem, GetMenu, GetMessage, GetMetrics, GetNextSibling, GetNextVisible, GetOpenFileName, GetParent, GetPerlWindow, GetPixel, GetPrevSibling, GetPrevVisible, GetRoot, GetStockObject, GetString, GetStringWidth, GetSystemMetrics, GetTextExtentPoint32, GetTopWindow, GetWindow, GetWindowLong, GetWindowRect, GetWindowThreadProcessId, Height, Hide, HitTest, Indent, Info, InsertBand, InsertColumn, InsertItem, Interval, InvalidateRect, InvertRect, IsEnabled, IsIconic, IsVisible, IsWindow, IsZoomed, ItemCheck, ItemFromPoint, ItemHeight, ItemInfo, ItemPosition, ItemRect, Kill, Left, LineFromChar, LineTo, ListIndex, Load, MapMode, MaxLength, Maximize, MessageBox, Minimize, Modified, Move, MoveItem, MoveTo, Open, OpenIcon, PaintDesktop, PasswordChar, PeekMessage, Pie, Play, PlayEnhMetaFile, PlayWinMetaFile, Pos, PosFromChar, PostMessage, PostQuitMessage, Range, ReadOnly, Rectangle, ReleaseCapture, Remove, RemoveItem, Replace, ReplaceSel, Reset, Resize, Restore, RowCount, Save, SaveBMP, ScaleHeight, ScaleWidth, Seek, Select, SelectAll, SelectCount, SelectObject, SelectString, SelectedItem, SelectedItems, Selection, SendMessage, SendMessageTimeout, SetBitmapSize, SetCapture, SetCharFormat, SetCheck, SetCursor, SetDate, SetFocus, SetFont, SetForegroundWindow, SetIcon, SetImage, SetImageList, SetItem, SetMenu, SetParaFormat, SetPixel, SetPos, SetRange, SetRedraw, SetStep, SetWindowLong, Show, Size, Sort, StepIt, Stop, StrokeAndFillPath, StrokePath, Text, TextBkColor, TextColor, TextOut, Top, TrackPopupMenu, Undo, Update, Validate, Version, View, VisibleCount, Width, WindowFromPoint
new Win32::GUI::Animation(PARENT, %OPTIONS)
Creates a new Animation object;
can also be called as PARENT->AddAnimation(%OPTIONS).
Class specific %OPTIONS are:
  -autoplay    => 0/1 (default 0)
    starts playing the animation as soon as an AVI clip is loaded
  -center      => 0/1 (default 0)
    centers the animation in the control window
  -transparent => 0/1 (default 0)
    draws the animation using a transparent background
METHODS -- Close, Open, Play, Seek, Stop
new Win32::GUI::Bitmap(FILENAME, [TYPE, X, Y, FLAGS])
Creates a new Bitmap object reading from FILENAME; all other arguments
are optional. TYPE can be:
  0  bitmap (this is the default)
  1  icon
  2  cursor
You can eventually specify your desired size for the image with X and
Y and pass some FLAGS to the underlying LoadImage API (at your own risk)
METHODS -- Create, GetDIBits, Info
new Win32::GUI::Brush(COLOR | %OPTIONS)
Creates a new Brush object.
Allowed %OPTIONS are:
  -style =>
    0 BS_SOLID
    1 BS_NULL
    2 BS_HATCHED
    3 BS_PATTERN
  -pattern => Win32::GUI::Bitmap object (valid for -style => BS_PATTERN)
  -hatch => (valid for -style => BS_HATCHED)
    0 HS_ORIZONTAL (-----)
    1 HS_VERTICAL  (|||||)
    2 HS_FDIAGONAL (\\\\\)
    3 HS_BDIAGONAL (/////)
    4 HS_CROSS     (+++++)
    5 HS_DIAGCROSS (xxxxx)
  -color => COLOR
METHODS -- Info
new Win32::GUI::Button(PARENT, %OPTIONS)
Creates a new Button object;
can also be called as PARENT->AddButton(%OPTIONS).
Class specific %OPTIONS are:
    -align   => left/center/right (default left)
    -valign  => top/center/bottom
    -default => 0/1 (default 0)
    -ok      => 0/1 (default 0)
    -cancel  => 0/1 (default 0)
EVENTS -- Click, DblClick, GotFocus, LostFocus, MouseDown, MouseUp
new Win32::GUI::Checkbox(PARENT, %OPTIONS)
Creates a new Checkbox object;
can also be called as PARENT->AddCheckbox(%OPTIONS).
%OPTIONS are the same of Button (see new Win32::GUI::Button() ).
METHODS -- Checked, GetCheck, SetCheck
EVENTS -- Click, DblClick, GotFocus, LostFocus, MouseDown, MouseUp
new Win32::GUI::Class(%OPTIONS)
Creates a new window class object.
Allowed %OPTIONS are:
  -name => STRING
      the name for the class (it must be unique!).
  -icon => Win32::GUI::Icon object
  -cursor => Win32::GUI::Cursor object
  -color => COLOR or Win32::GUI::Brush object
      the window background color.
  -menu => STRING
      a menu name (not yet implemented).
  -extends => STRING
      name of the class to extend (aka subclassing).
  -widget => STRING
      name of a widget class to subclass; currently available are:
      Button, Listbox, TabStrip, RichEdit.
  -style => FLAGS
      use with caution!
new Win32::GUI::Combobox(PARENT, %OPTIONS)
Creates a new Combobox object;
can also be called as PARENT->AddCombobox(%OPTIONS).
METHODS -- Add, AddString, Clear, Count, FindString, FindStringExact, FirstVisibleItem, GetString, InsertItem, ItemHeight, ListIndex, RemoveItem, Reset, Select, SelectedItem
EVENTS -- Change, GotFocus, LostFocus
new Win32::GUI::ComboboxEx(PARENT, %OPTIONS)
Creates a new ComboboxEx object;
can also be called as PARENT->AddComboboxEx(%OPTIONS).
Class specific %OPTIONS are:
  -imagelist => Win32::GUI::ImageList object
Except for images, a ComboboxEx object acts like a Win32::GUI::Combobox
object. See also new Win32::GUI::Combobox().
METHODS -- InsertItem
EVENTS -- Change, GotFocus, LostFocus
new Win32::GUI::Cursor(FILENAME)
Creates a new Cursor object reading from FILENAME.
new Win32::GUI::DC(WINDOW | DRIVER, DEVICE)
Creates a new DC object; the first form (WINDOW is a Win32::GUI object)
gets the DC for the specified window (can also be called as
WINDOW->GetDC). The second form creates a DC for the specified DEVICE;
actually, the only supported DRIVER is the display driver (eg. the
screen). To get the DC for the entire screen use:
    $Screen = new Win32::GUI::DC("DISPLAY");
METHODS -- AbortPath, Arc, BackColor, BeginPath, BkMode, Circle, CloseFigure, Ellipse, EndPath, Fill, FillPath, GetPixel, InvertRect, LineTo, MapMode, MoveTo, PaintDesktop, Pie, Rectangle, Restore, Save, SelectObject, SetPixel, StrokeAndFillPath, StrokePath, TextColor, TextOut, Validate
new Win32::GUI::DateTime(PARENT, %OPTIONS)
Creates a new DateTime object;
can also be called as PARENT->AddDateTime(%OPTIONS).
Class specific %OPTIONS are:
  [TBD]
METHODS -- Format, GetDate, SetDate
new Win32::GUI::DialogBox(%OPTIONS)
Creates a new DialogBox object. See new Win32::GUI::Window().
EVENTS -- Activate, Deactivate, Maximize, Minimize, Resize, Terminate
new Win32::GUI::Font(%OPTIONS)
Creates a new Font object. %OPTIONS are:
  -size
  -height
  -width
  -escapement
  -orientation
  -weight
  -bold => 0/1
  -italic => 0/1
  -underline => 0/1
  -strikeout => 0/1
  -charset
  -outputprecision
  -clipprecision
  -family
  -quality
  -name
  -face
METHODS -- GetMetrics, Info
new Win32::GUI::Graphic(PARENT, %OPTIONS)
Creates a new Graphic object;
can also be called as PARENT->AddGraphic(%OPTIONS).
Class specific %OPTIONS are:
EVENTS -- Paint
new Win32::GUI::Header(PARENT, %OPTIONS)
Creates a new Header object;
can also be called as PARENT->AddHeader(%OPTIONS).
Class specific %OPTIONS are:
  -buttons => 0/1 (default 0)
    header items look like push buttons and can be clicked.
  -hottrack => 0/1 (default 0)
  -imagelist => Win32::GUI::ImageList object
METHODS -- ChangeItem, Count, DeleteItem, InsertItem, ItemRect
EVENTS -- BeginTrack, DividerDblClick, EndTrack, ItemClick, ItemDblClick, Track
new Win32::GUI::Icon(FILENAME)
Creates a new Icon object reading from FILENAME.
new Win32::GUI::ImageList(X, Y, FLAGS, INITAL, GROW)
Creates an ImageList object; X and Y specify the size of the images,
FLAGS [TBD]. INITIAL and GROW specify the number of images the ImageList
actually contains (INITIAL) and the number of images for which memory
is allocated (GROW).
METHODS -- Add, AddBitmap, BackColor, Clear, Count, Remove, Replace, Size
new Win32::GUI::Label(PARENT, %OPTIONS)
Creates a new Label object;
can also be called as PARENT->AddLabel(%OPTIONS).
Class specific %OPTIONS are:
   -align    => left/center/right (default left)
   -bitmap   => 0/1 (default 0)
       the control displays a bitmap, not a text.
   -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).
   -frame    => black/gray/white/etched/none (default none)
       draws a border around the control. colors are the same
       of -fill, with the addition of "etched" (a raised border).
   -noprefix => 0/1 (default 0)
       disables the interpretation of "&" as accelerator prefix.
   -notify   => 0/1 (default 0)
       enables the Click(), DblClick, etc. events.
   -sunken   => 0/1 (default 0)
       draws a half-sunken border around the control.
   -truncate => 0/1/word/path (default 0)
       specifies how the text is to be truncated:
           0 the text is not truncated
           1 the text is truncated at the end
        path the text is truncated before the last "\"
             (used to shorten paths).
   -wrap     => 0/1 (default 1)
       the text wraps automatically to a new line.
METHODS -- SetImage
new Win32::GUI::ListView(PARENT, %OPTIONS)
Creates a new ListView object;
can also be called as PARENT->AddListView(%OPTIONS).
METHODS -- Arrange, ChangeItem, Clear, ColumnWidth, Count, DeleteColumn, DeleteItem, EditLabel, EnsureVisible, GetFirstVisible, GetStringWidth, HitTest, InsertColumn, InsertItem, ItemCheck, ItemPosition, MoveItem, Select, SelectCount, SelectedItems, SetImageList, SetItem, TextBkColor, TextColor, View, VisibleCount
EVENTS -- ColumnClick, ItemClick, KeyDown
new Win32::GUI::Listbox(PARENT, %OPTIONS)
Creates a new Listbox object;
can also be called as PARENT->AddListbox(%OPTIONS).
Class specific %OPTIONS are:
   -multisel => 0/1/2 (default 0)
       specifies the selection type:
           0 single selection
           1 multiple selection
           2 multiple selection ehnanced (with Shift, Control, etc.)
   -sort     => 0/1 (default 0)
       items are sorted alphabetically.
METHODS -- Add, AddString, Clear, Count, FindString, FindStringExact, FirstVisibleItem, GetString, InsertItem, ItemFromPoint, ItemHeight, ListIndex, RemoveItem, Reset, Select, SelectCount, SelectString, SelectedItem, SelectedItems
EVENTS -- Click, DblClick, GotFocus, LostFocus
new Win32::GUI::Menu(...)
METHODS -- AddMenuButton
EVENTS -- Click
new Win32::GUI::MenuButton()
METHODS -- AddMenuItem
new Win32::GUI::MenuItem()
METHODS -- Change, Checked, Enabled
new Win32::GUI::NotifyIcon(PARENT, %OPTIONS)
Creates a new NotifyIcon (also known as system tray icon) object;
can also be called as PARENT->AddNotifyIcon(%OPTIONS).
%OPTIONS are:
    -icon => Win32::GUI::Icon object
    -id => NUMBER
        a unique identifier for the NotifyIcon object
    -name => STRING
        the name for the object
    -tip => STRING
        the text that will appear as tooltip when the mouse is
        on the NotifyIcon
EVENTS -- Click, MouseEvent, RightClick
new Win32::GUI::Pen(COLOR | %OPTIONS)
Creates a new Pen object.
Allowed %OPTIONS are:
  -style =>
    0 PS_SOLID
    1 PS_DASH
    2 PS_DOT
    3 PS_DASHDOT
    4 PS_DASHDOTDOT
    5 PS_NULL
    6 PS_INSIDEFRAME
  -width => number
  -color => COLOR
METHODS -- Info
new Win32::GUI::ProgressBar(PARENT, %OPTIONS)
Creates a new ProgressBar object;
can also be called as PARENT->AddProgressBar(%OPTIONS).
Class specific %OPTIONS are:
    -smooth   => 0/1 (default 0)
        uses a smooth bar instead of the default segmented bar.
    -vertical => 0/1 (default 0)
        display progress status vertically (from bottom to top).
METHODS -- SetPos, SetRange, SetStep, StepIt
new Win32::GUI::RadioButton(PARENT, %OPTIONS)
Creates a new RadioButton object;
can also be called as PARENT->AddRadioButton(%OPTIONS).
%OPTIONS are the same of Button (see new Win32::GUI::Button() ).
METHODS -- Checked
EVENTS -- Click, DblClick, GotFocus, LostFocus, MouseDown, MouseUp
new Win32::GUI::Rebar(PARENT, %OPTIONS)
Creates a new Rebar object;
can also be called as PARENT->AddRebar(%OPTIONS).
Class specific %OPTIONS are:
  -bandborders => 0/1 (default 0)
    display a border to separate bands.
  -fixedorder => 0/1 (default 0)
    band position cannot be swapped.
  -imagelist => Win32::GUI::ImageList object
  -varheight => 0/1 (default 1)
    display bands using the minimum required height.
METHODS -- BandCount, DeleteBand, InsertBand, RowCount
EVENTS -- HeightChange
new Win32::GUI::RichEdit(PARENT, %OPTIONS)
Creates a new RichEdit object;
can also be called as PARENT->AddRichEdit(%OPTIONS).
METHODS -- BackColor, CharFromPos, FirstVisibleLine, GetCharFormat, LineFromChar, Load, PosFromChar, ReplaceSel, Save, Select, Selection, SetCharFormat, SetParaFormat
EVENTS -- Change, GotFocus, LostFocus
new Win32::GUI::Slider(PARENT, %OPTIONS)
Creates a new Slider object;
can also be called as PARENT->AddSlider(%OPTIONS).
EVENTS -- Scroll
new Win32::GUI::StatusBar(PARENT, %OPTIONS)
Creates a new StatusBar object;
can also be called as PARENT->AddStatusBar(%OPTIONS).
new Win32::GUI::TabStrip(PARENT, %OPTIONS)
Creates a new TabStrip object;
can also be called as PARENT->AddTabStrip(%OPTIONS).
Class specific %OPTIONS are:
  -bottom    => 0/1 (default 0)
  -buttons   => 0/1 (default 0)
  -hottrack  => 0/1 (default 0)
  -imagelist => Win32::GUI::ImageList object
  -justify   => 0/1 (default 0)
  -multiline => 0/1 (default 0)
  -right     => 0/1 (default 0)
  -vertical  => 0/1 (default 0)
METHODS -- ChangeItem, Count, DeleteItem, GetString, InsertItem, Reset, Select, SelectedItem
new Win32::GUI::Textfield(PARENT, %OPTIONS)
Creates a new Textfield object;
can also be called as PARENT->AddTextfield(%OPTIONS).
Class specific %OPTIONS are:
  -align         => left/center/right (default left)
      aligns the text in the control accordingly.
  -keepselection => 0/1 (default 0)
      the selection is not hidden when the control loses focus.
  -multiline     => 0/1 (default 0)
      the control can have more than one line (note that newline
      is "\r\n", not "\n"!).
  -password      => 0/1 (default 0)
      masks the user input (like password prompts).
  -passwordchar  => char (default '*')
      the char that is shown instead of the text with -password => 1.
  -prompt        => (see below)
  -readonly      => 0/1 (default 0)
      text can't be changed.
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 -prompt can be a reference to a list containing
the string and an additional parameter, which sets the width for
the Label (eg. [ STRING, WIDTH ] ). If WIDTH is negative, it is calculated
relative to the Textfield left coordinate. Example:
    -left => 75,                          (Label left) (Textfield left)
    -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").
METHODS -- LineFromChar, MaxLength, Modified, PasswordChar, ReadOnly, ReplaceSel, Select, SelectAll, Undo
EVENTS -- Change, GotFocus, LostFocus
new Win32::GUI::Timer(PARENT, NAME, ELAPSE)
Creates a new timer in the PARENT window named NAME that will
trigger its Timer() event after ELAPSE milliseconds.
Can also be called as PARENT->AddTimer(NAME, ELAPSE).
EVENTS -- Timer
new Win32::GUI::Toolbar(PARENT, %OPTIONS)
Creates a new Toolbar object;
can also be called as PARENT->AddToolbar(%OPTIONS).
Class specific %OPTIONS are:
  -flat      => 0/1
  -imagelist => IMAGELIST
  -multiline => 0/1
  -nodivider => 0/1
METHODS -- AddBitmap, AddButtons, AddString, SetBitmapSize
EVENTS -- ButtonClick
new Win32::GUI::Tooltip(PARENT, %OPTIONS)
(preliminary) creates a new Tooltip object
EVENTS -- NeedText
new Win32::GUI::TreeView(PARENT, %OPTIONS)
Creates a new TreeView object
can also be called as PARENT->AddTreeView(%OPTIONS).
METHODS -- ChangeItem, Clear, Collapse, Count, DeleteItem, EnsureVisible, Expand, FirstVisible, GetChild, GetItem, GetNextSibling, GetNextVisible, GetParent, GetPrevSibling, GetPrevVisible, GetRoot, HitTest, Indent, InsertItem, ItemCheck, ItemInfo, Reset, Select, SelectedItem, SetImageList, Sort, VisibleCount
EVENTS -- Collapse, Collapsing, Expand, Expanding, KeyDown, NodeClick
new Win32::GUI::UpDown(PARENT, %OPTIONS)
Creates a new UpDown object;
can also be called as PARENT->AddUpDown(%OPTIONS).
METHODS -- Base, Buddy, Pos, Range
EVENTS -- Scroll
new Win32::GUI::Window(%OPTIONS)
Creates a new Window object.
Class specific %OPTIONS are:
  -minsize => [X, Y]
    specifies the minimum size (width and height) in pixels;
    X and Y must be passed in an array reference
  -maxsize => [X, Y]
    specifies the maximum size (width and height) in pixels;
    X and Y must be passed in an array reference
  -minwidth  => N
  -minheight => N
  -maxwidht  => N
  -maxheight => N
    specify the minimum and maximum size width
    and height, in pixels
  -topmost => 0/1 (default 0)
    the window "stays on top" even when deactivated
METHODS -- AddAnimation, AddButton, AddCheckbox, AddCombobox, AddHeader, AddLabel, AddListView, AddListbox, AddMenu, AddNotifyIcon, AddProgressBar, AddRadioButton, AddRebar, AddRichEdit, AddSlider, AddStatusBar, AddTabStrip, AddTextfield, AddTimer, AddToolbar, AddTreeView, AddUpDown, GetDC
EVENTS -- Activate, Deactivate, Maximize, Minimize, Resize, Terminate