The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Win32::GUI packages

Animation

The Animation control displays an AVI animation. To load an AVI file you can use the Open() method; you can then use Play() to start the animation (note it will start automatically with the -autoplay option), Stop() to stop it and Seek() to position it to a specified frame.

Options: -autoplay, -center, -name, -pos, -size, -text, -transparent

Methods: AbsLeft, AbsTop, ChangeCursor, Close, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Open, Play, Resize, ScaleHeight, ScaleWidth, Seek, Show, Stop, Update

Button

x

Options: -align, -bitmap, -cancel, -default, -icon, -name, -ok, -picture, -pos, -size, -text, -valign

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

Checkbox

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

Class

x

Options: -name

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetWindowRect

Combobox

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, Add, AddString, ChangeCursor, Count, Disable, Enable, FindString, FindStringExact, FirstVisibleItem, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Reset, Resize, ScaleHeight, ScaleWidth, SelectedItem, Show, Update

ComboboxEx

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

DateTime

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

DialogBox

Just like Window, but with a predefined dialog box look: by default, a DialogBox can not be sized, has no maximize box and has -dialogui enabled (eg. interprets tab/enter/esc).

Options: -accel, -accelerators, -acceleratortable, -background, -caption, -font, -foreground, -height, -hscroll, -left, -maxheight, -maximizebox, -maxsize, -maxwidth, -menu, -minheight, -minimizebox, -minsize, -minwidth, -name, -pos, -sizable, -size, -sysmenu, -text, -title, -top, -topmost, -vscroll, -width

Methods: AbsLeft, AbsTop, BringWindowToTop, ChangeCursor, ChangeIcon, ChangeSmallIcon, CloseWindow, Disable, DrawMenuBar, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetMenu, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsIconic, IsVisible, IsWindow, IsZoomed, Left , Move, OpenIcon, Resize, ScaleHeight, ScaleWidth, Show, Update

Graphic

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

Groupbox

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

x

Options: -buttons, -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

Label

x

Options: -align, -bitmap, -fill, -frame, -name, -notify, -picture, -pos, -size, -sunken, -text, -truncate, -wrap

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

ListView

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, Arrange, ChangeCursor, Disable, Enable, EnsureVisible, GetClassName, GetClientRect, GetFont, GetFontName, GetStringWidth, GetTextExtentPoint32, GetWindowRect, Height, Hide, HitTest, InvalidateRect, IsEnabled, IsVisible, IsWindow, ItemCheck, ItemPosition, Left , Move, MoveItem, Resize, ScaleHeight, ScaleWidth, SelectCount, Show, Update, View, VisibleCount

Listbox

x

Options: -multisel, -name, -pos, -size, -sort, -text

Methods: AbsLeft, AbsTop, Add, AddString, ChangeCursor, Count, Disable, Enable, FindString, FindStringExact, FirstVisibleItem, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, ItemFromPoint, Left , Move, Reset, Resize, ScaleHeight, ScaleWidth, SelectCount, SelectedItem, SelectString, Show, Update

ProgressBar

x

Options: -name, -pos, -size, -smooth, -text, -vertical

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, SetRange, Show, Update

RadioButton

x

Options: -name, -pos, -size, -text, -valign

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

Rebar

x

Options: -bandborders, -fixedorder, -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, BandCount, ChangeCursor, DeleteBand, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InsertBand, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, RowCount, ScaleHeight, ScaleWidth, Show, Update

RichEdit

x

Options: -align, -autohscroll, -autovscroll, -keepselection, -lowercase, -multiline, -name, -number, -password, -passwordchar, -pos, -prompt, -readonly, -size, -text, -uppercase

Methods: AbsLeft, AbsTop, BackColor, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , LineFromChar, Load, MaxLength, Modified, Move, PasswordChar, ReadOnly, ReplaceSel, Resize, Save, ScaleHeight, ScaleWidth, Scroll, SelectAll, Selection, Show, Undo, Update

Slider

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

Splitter

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

StatusBar

x

Options: -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

TabStrip

x

Options: -bottom, -buttons, -flat, -hottrack, -imagelist, -justify, -multiline, -name, -pos, -right, -size, -text, -vertical

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

Textfield

x

Options: -align, -autohscroll, -autovscroll, -keepselection, -lowercase, -multiline, -name, -number, -password, -passwordchar, -pos, -prompt, -readonly, -size, -text, -uppercase

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , LineFromChar, MaxLength, Modified, Move, PasswordChar, ReadOnly, ReplaceSel, Resize, ScaleHeight, ScaleWidth, Scroll, SelectAll, Selection, Show, Undo, Update

Timer

The Timer object is a special kind of control: it has no appearance, its only purpose is to trigger an event every specified amount of time.

The synopsis to create a Timer object is:

        new Win32::GUI::Timer( PARENT, NAME, ELAPSE )

        PARENT->AddTimer( NAME, ELAPSE )
NAME

the name for the Timer object (used to lookup the associated event).

ELAPSE

the number of milliseconds after which the Timer() event will be triggered.

Once you've created the Timer object, you can change the ELAPSE parameter with the Interval() method, or disables it with the Kill() method. Note that Kill(), despite of its name, does not destroy the Timer object, so you can re-enable it later with Interval().

Example:

        # creates a Timer that is called every 1 second
        
        $Window->AddTimer( "Clock", 1000 );

        sub Clock_Timer {
                print "one second passed.\n";
        }

Methods: Interval, Kill

Events: Timer

Toolbar

x

Options: -name, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Move, ScaleHeight, ScaleWidth, Show, Update

Tooltip

x

TreeView

x

Options: -buttons, -name, -pos, -size, -text

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, EnsureVisible, Expand, FirstVisible, GetClassName, GetClientRect, GetFont, GetFontName, GetLastVisible, GetNextVisible, GetPrevVisible, GetTextExtentPoint32, GetWindowRect, Height, Hide, HitTest, Indent, InvalidateRect, IsEnabled, IsVisible, IsWindow, ItemCheck, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update, VisibleCount

UpDown

x

Options: -name, -pos, -size, -text, -wrap

Methods: AbsLeft, AbsTop, ChangeCursor, Disable, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsVisible, IsWindow, Left , Move, Resize, ScaleHeight, ScaleWidth, Show, Update

Window

This is the main container of a regular GUI; also known as "top level window".

Options: -accel, -accelerators, -acceleratortable, -background, -caption, -font, -foreground, -height, -hscroll, -left, -maxheight, -maximizebox, -maxsize, -maxwidth, -menu, -minheight, -minimizebox, -minsize, -minwidth, -name, -pos, -sizable, -size, -sysmenu, -text, -title, -top, -topmost, -vscroll, -width

Methods: AbsLeft, AbsTop, BringWindowToTop, ChangeCursor, ChangeIcon, ChangeSmallIcon, CloseWindow, Disable, DrawMenuBar, Enable, GetClassName, GetClientRect, GetFont, GetFontName, GetMenu, GetTextExtentPoint32, GetWindowRect, Height, Hide, InvalidateRect, IsEnabled, IsIconic, IsVisible, IsWindow, IsZoomed, Left , Move, OpenIcon, Resize, ScaleHeight, ScaleWidth, Show, Update