Win32::GUI - Documentation

# NAME

Win32::GUI - Documentation

# SYNOPSIS

Re-write of existing pods for a single hyperlinked doc using pod2html support

# INDEX

## REFERENCE

OBJECTS -- Animation, Bitmap, Brush, Button, Checkbox, Class, Combobox, ComboboxEx, Cursor, DC, DialogBox, Font, Header, Icon, ImageList, Label, Listbox, ListView, Menu, MenuButton, MenuItem, NotifyIcon, Pen, ProgressBar, RadioButton, Rebar, RichEdit, Slider, StatusBar, TabStrip, Textfield, Timer, Toolbar, Tooltip, TreeView, UpDown , Window

ATTRIBUTES -- -align, -autoplay, -background, -bandborders, -bitmap, -bold, -bottom, -buttons, -cancel, -center, -charset, -class, -clipprecision, -color, -cursor, -default, -disabled, -escapement, -extends, -face, -family, -fill, -fixedorder, -flat, -font, -foreground, -frame, -group, -height, -hottrack, -icon, -id, -imagelist, -italic, -justify, -keepselection, -left, -maxheight, -maxsize, -maxwidth, -menu, -minheight, -minsize, -minwidth, -multiline, -multisel, -name, -nodivider, -noprefix, -notify, -ok, -orientation, -outputprecision, -quality, -password, -passwordchar, -prompt, -readonly, -right, -size, -smooth, -sort, -strikeout, -style, -sunken, -tabstop, -text, -tip, -title, -top, -topmost, -transparent, -truncate, -underline, -valign, -varheight, -vertical, -visible, -weight, -widget, -width, -wrap,

EVENTS -- _Activate(), _BeginTrack(INDEX, WIDTH), _ButtonClick(INDEX), _Change(), _Changing(), _Click(), _Collapse(NODE), _Collapsing(NODE), _ColumnClick(ITEM), _DblClick(), _Deactivate(), _DividerDblClick(INDEX), _EndTrack(INDEX, WIDTH), _Expand(NODE), _Expanding(NODE), _GotFocus(), _HeightChange(), _ItemClick(INDEX), _ItemClick(ITEM), _ItemDblClick(INDEX), _KeyDown(KEY), _LostFocus(), _Maximize(), _Minimize(), _MouseEvent(MSG), _NodeClick(NODE), _Resize(), _RightClick(), _Scroll(), _Terminate(), _Timer(), _Track(INDEX, WIDTH)

METHODS -- Add(BITMAP, [BITMAPMASK]), AddAnimation, AddBitmap(BITMAP, [BITMAPMASK]), AddBitmap(BITMAP, NUMBUTTONS), AddButton, AddButtons(NUMBER, ...), AddCheckbox, AddCombobox, AddHeader, AddLabel, AddListbox, AddListView, AddMenu, AddMenuButton, AddMenuItem(), AddNotifyIcon, AddProgressBar, AddRadioButton, AddRebar, AddRichEdit, AddSlider, AddStatusBar, AddString(STRING), AddTabStrip, AddTextfield, AddTimer, AddToolbar, AddTreeView, AddUpDown, Arc(X, Y, RADIUS, START, SWEEP), Arrange([FLAG]), BackColor([COLOR]), BandCount(), Base([VALUE]), BeginPath(), BkMode([MODE]), Buddy([OBJECT]), Change(%ATTRIBUTES), ChangeItem(%ATTRIBUTES), ChangeItem(INDEX, %ATTRIBUTES), ChangeItem(NODE, %ATTRIBUTES), ChangeItem(ITEM, %ATTRIBUTES), CharFromPos(X, Y), Checked(...), Checked([VALUE]), /"Circle(X, Y, (WIDTH, HEIGHT , Clear(), Clear([NODE]), Collapse(NODE), Count(), Close(), CloseFigure(), ColumnClick(ITEM), ColumnWidth(COLUMN, [WIDTH]), Count(), Create(WIDTH, HEIGHT, PLANES, BPP, DATA), DeleteBand(INDEX), DeleteColumn(INDEX), DeleteItem(INDEX), DeleteItem(NODE), EditLabel(INDEX), Ellipse(LEFT, TOP, RIGHT, BOTTOM), Enabled(...), EndPath(), EnsureVisible(INDEX, [FLAG]), EnsureVisible(NODE), Expand(NODE, [FLAG]), Fill(X, Y, [COLOR], [TYPE]), FillPath(), FindString(STRING, [INDEX]), FindStringExact(STRING, [INDEX]), FirstVisibleItem([INDEX]), FirstVisibleLine(), FirstVisible([NODE]), GetCharFormat([FLAG]), GetCheck(), GetChild(NODE), GetDC, GetDIBits(), GetFirstVisible(), GetItem(NODE), GetMetrics(), GetNextSibling(NODE), GetNextVisible(NODE), GetParent(NODE), GetPixel(X, Y), GetPrevSibling(NODE), GetPrevVisible(NODE), GetRoot(), GetString(INDEX), GetStringWidth(STRING), HitTest(X, Y), Indent([VALUE]), Info(), InsertBand(%ATTRIBUTES), InsertColumn(%ATTRIBUTES), InsertItem(%ATTRIBUTES), InsertItem(STRING, [INDEX]), Interval(ELAPSE), InvertRect(LEFT, TOP, RIGHT, BOTTOM), ItemCheck(NODE, [VALUE]), ItemClick(ITEM), ItemFromPoint(X, Y), ItemHeight([HEIGHT]), ItemRect(INDEX), KeyDown(KEY), Kill(), LineFromChar(INDEX), LineTo(X, Y), ListIndex(), Load(FILENAME, [FORMAT]), MapMode([MODE]), Modified([FLAG]), MoveItem(INDEX, X, Y), MoveTo(X, Y), Open(FILE), PaintDesktop(), PasswordChar([CHAR]), Pie(LEFT, TOP, RIGHT, BOTTOM, XF, YF, XS, YS), Play([FROM], [TO], [REPEAT]), Pos([VALUE]), PosFromChar(INDEX), Range([MIN, MAX]), ReadOnly([FLAG]), Rectangle(LEFT, TOP, RIGHT, BOTTOM), Remove(INDEX), RemoveItem(INDEX), Replace(INDEX, BITMAP, [BITMAPMASK]), ReplaceSel(STRING, [FLAG]), Reset(), Restore([STATE]), RowCount(), Save(), Save(FILENAME, [FORMAT]), Seek(FRAME), Select(INDEX), Select(NODE, [FLAG]), Select(START, END), SelectCount(), SelectedItem(), SelectedItems(), Selection(), SelectObject(OBJECT), SelectString(STRING, [INDEX]), SetBitmapSize([X, Y]), SetCharFormat(%ATTRIBUTES), SetCheck([VALUE]), SetImage(BITMAP), SetImageList(IMAGELIST, [TYPE]), SetItem(%ATTRIBUTES), SetParaFormat(%ATTRIBUTES), SetPixel(X, Y, [COLOR]), SetPos(VALUE), SetRange([MIN], MAX), SetStep([VALUE]), Size([X, Y]), Sort(NODE), StepIt(), Stop(), StrokeAndFillPath(), StrokePath(), TextBkColor([COLOR]), TextColor([COLOR]), TextOut(X, Y, TEXT), Undo(), View([MODE]), VisibleCount()

# REFERENCE

## OBJECTS

### Animation

Constructor(s)

       $PARENT->AddAnimation(%ATTRIBUTES)
       new Win32::GUI::Animation($PARENT, %ATTRIBUTES)

Attributes -- -autoplay, -center, -transparent

Events -- [TBD]

Methods -- Close(), Open(FILE), Play([FROM], [TO], [REPEAT]), Seek(FRAME), Stop()

### Bitmap

Constructor

  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)

Attributes -- [TBD]

Events -- [TBD]

Methods -- Create(WIDTH, HEIGHT, PLANES, BPP, DATA), GetDIBits(), Info()

### Brush

Constructor

  new Win32::GUI::Brush(COLOR | %ATTRIBUTES)

Attributes

       -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

Events -- [TBD]

Methods -- Info()

### Button

Constructor(s)

       $PARENT->AddButton(%ATTRIBUTES)
       new Win32::GUI::Button(PARENT, %ATTRIBUTES)

Attributes -- -align, -valign, -default, -ok, -cancel

Events -- _Click(), _DblClick(), _GotFocus(), _LostFocus()

Methods -- [TBD]

### Checkbox

Constructor

       $PARENT->AddCheckbox(%ATTRIBUTES)
       new Win32::GUI::Checkbox()

Attributes -- [see Button]

Events -- [see Button]

Methods -- Checked([VALUE]), GetCheck(), SetCheck([VALUE])

### Class

Constructor

       new Win32::GUI::Class(%ATTRIBUTES)

Attributes -- -name, -icon, -cursor, -color, -menu, -extends, -widget, -style

Events -- [TBD]

Methods -- [TBD]

### Combobox

Constructor

       $PARENT->AddCombobox(%ATTRIBUTES)
       new Win32::GUI::Combobox()

Attributes -- [TDB]

Events -- _Change()

Methods -- AddString(STRING), Clear(), Count(), FirstVisibleItem([INDEX]), GetString(INDEX), InsertItem(STRING, [INDEX]), ItemHeight([HEIGHT]), ListIndex(), RemoveItem(INDEX), Reset(), Select(INDEX), SelectedItem()

### ComboboxEx

Constructor

       [TBD]

Attributes -- [TBD]

Events -- [TBD]

Methods -- [TBD]

### Cursor

Constructor

       new Win32::GUI::Cursor(FILENAME)

       Creates a new Cursor object reading from FILENAME.

Attributes -- [TBD]

Events -- [TBD]

Methods -- [TBD]

### DC

Constructor

       $PARENT->GetDC()
       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:

  Example: `$Screen` = new Win32::GUI::DC(``DISPLAY'');

Attributes -- [TBD]

Events -- [TBD]

Methods -- AbortPath(), Arc(X, Y, RADIUS, START, SWEEP), BackColor([COLOR]), BeginPath(), BkMode([MODE]), "Circle(X, Y, (WIDTH, HEIGHT , CloseFigure(), Ellipse(LEFT, TOP, RIGHT, BOTTOM), EndPath(), Fill(X, Y, [COLOR], [TYPE]), FillPath(), GetPixel(X, Y), InvertRect(LEFT, TOP, RIGHT, BOTTOM), LineTo(X, Y), MapMode([MODE]), MoveTo(X, Y), PaintDesktop(), Pie(LEFT, TOP, RIGHT, BOTTOM, XF, YF, XS, YS), Rectangle(LEFT, TOP, RIGHT, BOTTOM), Restore([STATE]), Save(), SelectObject(OBJECT), SetPixel(X, Y, [COLOR]), StrokeAndFillPath(), StrokePath(), TextColor([COLOR]), TextOut(X, Y, TEXT)

### DialogBox

Constructor

       new Win32::GUI::DialogBox(%ATTRIBUTES)

  Creates a new DialogBox object. See new Win32::GUI::Window().

Attributes -- [TBD]

Events -- [TBD]

Methods -- Activate(), Deactivate(), Maximize(), Minimize(), Resize(), Terminate()

### Font

Constructor

       new Win32::GUI::Font(%ATTRIBUTES)

Attributes -- -size, -height, -width, -escapement, -orientation, -weight, -bold, -italic, -underline, -strikeout, -charset, -outputprecision, -clipprecision, -family, -quality, -name, -face

Events -- [TBD]

Methods -- GetMetrics(), Info()

### Header

Constructor

       $PARENT->AddHeader(%ATTRIBUTES)
       new Win32::GUI::Header()

Attributes -- -buttons, -hottrack, -imagelist

Events -- _BeginTrack(INDEX, WIDTH), _DividerDblClick(INDEX), _EndTrack(INDEX, WIDTH), _ItemClick(INDEX), _ItemDblClick(INDEX), _Track(INDEX, WIDTH)

Methods -- ChangeItem(INDEX, %ATTRIBUTES), Count(), DeleteItem(INDEX), InsertItem(%ATTRIBUTES), ItemRect(INDEX)

### Icon

Constructor

       new Win32::GUI::Icon(FILENAME)

Attributes -- [TBD]

Events -- [TBD]

Methods -- [TBD]

### ImageList

Constructor

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

Attributes -- [TBD]

Events -- [TBD]

Methods -- Add(BITMAP, [BITMAPMASK]), AddBitmap(BITMAP, [BITMAPMASK]), BackColor([COLOR]), Clear(), Count(), Remove(INDEX), Replace(INDEX, BITMAP, [BITMAPMASK]), Size([X, Y])

### Label

Constructor

       $PARENT->AddLabel(%ATTRIBUTES)
       new Win32::GUI::Label()

Attributes -- -align, -bitmap, -fill, -frame, -noprefix, -notify, -sunken, -truncate, -wrap

Events -- _Click(), _DblClick()

Methods -- SetImage(BITMAP)

### Listbox

Constructor

       $PARENT->AddListbox(%ATTRIBUTES)
       new Win32::GUI::Listbox()

Attributes -- -multisel, -sort

Events -- _Click(), _DblClick(), _GotFocus(), _LostFocus()

Methods -- AddString(STRING), Clear(), Count(), FindString(STRING, [INDEX]), FindStringExact(STRING, [INDEX]), FirstVisibleItem([INDEX]), GetString(INDEX), InsertItem(STRING, [INDEX]), ItemFromPoint(X, Y), ItemHeight([HEIGHT]), ListIndex(), RemoveItem(INDEX), Reset(), Select(INDEX), SelectCount(), SelectedItem(), SelectedItems(), SelectString(STRING, [INDEX])

### ListView

Constructor

       $PARENT->AddListView(%ATTRIBUTES)
       new Win32::GUI::ListView()

Attributes -- [TBD]

Events -- _ColumnClick(ITEM), _ItemClick(ITEM), _KeyDown(KEY)

Methods -- Arrange([FLAG]), ChangeItem(%ATTRIBUTES), Clear(), ColumnWidth(COLUMN, [WIDTH]), Count(), DeleteColumn(INDEX), DeleteItem(INDEX), EditLabel(INDEX), EnsureVisible(INDEX, [FLAG]), GetFirstVisible(), GetStringWidth(STRING), HitTest(X, Y), InsertColumn(%ATTRIBUTES), InsertItem(%ATTRIBUTES), ItemCheck(INDEX), ItemPosition(INDEX, [X, Y]), MoveItem(INDEX, X, Y), Select(INDEX), SelectCount(), SetImageList(IMAGELIST, [TYPE]), SetItem(%ATTRIBUTES), TextBkColor([COLOR]), TextColor([COLOR]), View([MODE]), VisibleCount()

### Menu

Constructor

       $PARENT->AddMenu()
       new Win32::GUI::Menu()

Attributes -- [TBD]

Events -- _Click()

Methods -- AddMenuButton()

### MenuButton

Constructor

       new Win32::GUI::MenuButton()

Attributes -- [TBD]

Events -- [TBD]

Methods -- AddMenuItem()

### MenuItem

Constructor

       new Win32::GUI::MenuItem()

Attributes

       -style => 0 PS_SOLID
                 1 PS_DASH
                 2 PS_DOT
                 3 PS_DASHDOT
                 4 PS_DASHDOTDOT
                 5 PS_NULL
                 6 PS_INSIDEFRAME

  -width, -color

Events -- [TBD]

Methods -- Change(%ATTRIBUTES), Checked(), Enabled()

### NotifyIcon

Constructor

       $PARENT->AddNotifyIcon(%ATTRIBUTES)
       new Win32::GUI::NotifyIcon()

Attributes -- -icon, -id, -name, -tip

Events -- _Click(), _MouseEvent(MSG), _RightClick

Methods -- [TBD]

### Pen

Constructor

       new Win32::GUI::Pen(COLOR | %ATTRIBUTES)

Attributes -- [TBD]

Events -- [TBD]

Methods -- [TBD]

### ProgressBar

Constructor

       $PARENT->AddProgressBar(%ATTRIBUTES)
       new Win32::GUI::ProgressBar()

Attributes -- -smooth, -vertical

Events -- [TBD]

Methods -- SetPos(VALUE), SetRange([MIN], MAX), SetStep([VALUE]), StepIt()

### RadioButton

Constructor

       $PARENT->AddRadioButton(%ATTRIBUTES)
       new Win32::GUI::RadioButton()

Attributes -- [see Button]

Events -- _Click(), _DblClick(), _GotFocus(), _LostFocus()

Methods -- Checked([VALUE])

### Rebar

Constructor

       Constructor

       $PARENT->AddRebar(%ATTRIBUTES)
       new Win32::GUI::Rebar()

Attributes -- -bandborders, -fixedorder, -imagelist, -varheight

Events -- _HeightChange()

Methods -- BandCount(), DeleteBand(INDEX), InsertBand(%ATTRIBUTES), RowCount()

### RichEdit

Constructor

       $PARENT->AddRichEdit(%ATTRIBUTES)
       new Win32::GUI::RichEdit()

Attributes -- [TBD]

Events -- _Change(), _GotFocus(), _LostFocus()

Methods -- BackColor([COLOR]), CharFromPos(X, Y), FirstVisibleLine(), GetCharFormat([FLAG]), LineFromChar(INDEX), Load(FILENAME, [FORMAT]), PosFromChar(INDEX), ReplaceSel(STRING, [FLAG]), Save(FILENAME, [FORMAT]), Select(START, END), Selection(), SetCharFormat(%ATTRIBUTES), SetParaFormat(%ATTRIBUTES)

### Slider

Constructor

       $PARENT->AddSlider(%ATTRIBUTES)
       new Win32::GUI::Slider()

Attributes -- [TBD]

Events -- _Scroll()

Methods -- [TBD]

### StatusBar

Constructor

       $PARENT->AddStatusBar(%ATTRIBUTES)
       new Win32::GUI::StatusBar()

Attributes -- [TBD]

Events -- [TBD]

Methods -- [TBD]

### TabStrip

Constructor

       $PARENT->AddTabStrip(%ATTRIBUTES)
       new Win32::GUI::TabStrip()

Attributes -- -bottom, -buttons, -hottrack, -imagelist, -justify, -multiline, -right, -vertical

Events -- _Change(), _Changing()

Methods -- ChangeItem(ITEM, %ATTRIBUTES), Count(), DeleteItem(ITEM), GetString(ITEM), InsertItem(%ATTRIBUTES), Reset(), Select(INDEX), SelectedItem()

### Textfield

Constructor

       $PARENT->AddTextfield(%ATTRIBUTES)
       new Win32::GUI::Textfield()

Attributes -- -align, -keepselection, -multiline, -password, -passwordchar, -prompt, -readonly

Events -- _Change(), _GotFocus(), _LostFocus()

Methods -- LineFromChar(INDEX), Modified([FLAG]), PasswordChar([CHAR]), ReadOnly([FLAG]), ReplaceSel(STRING, [FLAG]), Select(START, END), Undo()

### Timer

Constructor

       $PARENT->AddTimer(NAME, ELAPSE)
       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.

Attributes -- [TBD]

Events -- _Timer()

Methods -- Interval(ELAPSE), Kill()

### Toolbar

Constructor

       $PARENT->AddToolbar(%ATTRIBUTES)
       new Win32::GUI::Toolbar()

Attributes -- -flat, -imagelist, -multiline, -nodivider

Events -- _ButtonClick(INDEX)

Methods -- AddBitmap(BITMAP, NUMBUTTONS), AddButtons(NUMBER, ...), AddString(STRING), SetBitmapSize([X, Y])

### Tooltip

Constructor

       [TBD]

Attributes -- [TBD]

Events -- [TBD]

Methods -- [TBD]

### TreeView

Constructor

       $PARENT->AddTreeView(%ATTRIBUTES)
       new Win32::GUI::TreeView()

Attributes -- [TBD]

Events -- _Collapse(NODE), _Collapsing(NODE), _Expand(NODE), _Expanding(NODE), _KeyDown(KEY), _NodeClick(NODE)

Methods -- ChangeItem(NODE, %ATTRIBUTES), Clear([NODE]), Collapse(NODE), Count(), DeleteItem(NODE), EnsureVisible(NODE), Expand(NODE, [FLAG]), FirstVisible([NODE]), GetChild(NODE), GetItem(NODE), GetNextSibling(NODE), GetNextVisible(NODE), GetParent(NODE), GetPrevSibling(NODE), GetPrevVisible(NODE), GetRoot(), HitTest(X, Y), Indent([VALUE]), InsertItem(%ATTRIBUTES), ItemCheck(NODE, [VALUE]), Reset(), Select(NODE, [FLAG]), SelectedItem(), SetImageList(IMAGELIST, [TYPE]), Sort(NODE), VisibleCount()

### UpDown

Constructor

       $PARENT->AddUpDown(%ATTRIBUTES)
       new Win32::GUI::UpDown()

Attributes -- [TBD]

Events -- _Scroll()

Methods -- Base([VALUE]), Buddy([OBJECT]), Pos([VALUE]), Range([MIN, MAX])

### Window

Constructor

       new Win32::GUI::Window(%ATTRIBUTES)

Attributes -- -minsize, -maxsize, -minwidth, -minheight, -maxwidth, -maxheight, -topmost

Events -- [TBD]

Methods -- All AddObject Methods

## ATTRIBUTES

### -align

-align => left/center/right (default left)

Aligns the text in the control accordingly.

[Attribute valid for Objects: Button, Label, Textfield]

[Attribute valid for Methods: InsertItem]

### -autoplay

-autoplay => 0/1 (default 0)

starts playing the animation as soon as an AVI clip is loaded

[Attribute valid for Object: Animation]

### -background

-background => COLOR

[Attribute valid for Method: `InsertBand(%ATTRIBUTES)]`

### -bandborders

-bandborders => 0/1 (default 0)

Display a border to separate bands.

[Attribute valid for Object: ReBar]

### -bitmap

-bitmap => 0/1 (default 0)

The control displays a bitmap, not a text.

[Attribute valid for Object: Label]

[Attribute valid for Method: InsertBand(%ATTRIBUTES), InsertItem(%ATTRIBUTES)]

### -bold

-bold => 0/1

[Attribute valid for Object: Font]

### -bottom

-bottom => 0/1 (default 0)

[Attribute valid for Object: TabStrip]

### -buttons

-buttons => 0/1 (default 0)

[Attribute valid for Object: Header, TabStrip]

### -cancel

-cancel => 0/1 (default 0)

[Attribute valid for Object: Button]

### -center

-center => 0/1 (default 0)

Centers the animation in the control window

[Attribute valid for Object: Animation]

### -charset

     [TBD]

[Attribute valid for Object: Font]

[Attribute valid for Method: GetMetrics()]

### -class

-class => CLASS

     [TBD]

[Attribute valid for Object: All OBJECTS]

### -clipprecision

     [TBD]

[Attribute valid for Object: Font]

### -color

-color => COLOR or Win32::GUI::Brush object

The window background color.

[Attribute valid for Objects: Brush, Class, MenuItem]

### -cursor

-cursor => Win32::GUI::Cursor object

     [TBD]

[Attribute valid for Object: Class]

### -default

-default => 0/1 (default 0)

     [TBD]

[Attribute valid for Object: Button]

### -disabled

-disabled => 0/1

     [TBD]

[Attribute valid for Object: All OBJECTS]

### -escapement

     [TBD]

[Attribute valid for Object: Font]

### -extends

-extends => STRING

Name of the class to extend (aka subclassing).

[Attribute valid for Object: Class]

### -face

     [TBD]

[Attribute valid for Object: Font]

### -family

     [TBD]

[Attribute valid for Object: Font]

### -fill

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

[Attribute valid for Object: Label]

### -fixedorder

-fixedorder => 0/1 (default 0)

Band position cannot be swapped.

[Attribute valid for Object: ReBar]

### -flat

-flat => 0/1

[Attribute valid for Object: ToolBar]

### -font

-font => FONT

     [TBD]

[Attribute valid for Object: [TBD]]

### -foreground

-foreground => COLOR

     [TBD]

[Attribute valid for Method: InsertBand(%ATTRIBUTES)]

### -frame

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

[Attribute valid for Object: Label]

### -group

-group => 0/1

     [TBD]

[Attribute valid for Object: [TBD]]

### -height

-height => NUMBER

     [TBD]

[Attribute valid for Object: Font] [Attribute valid for Method: GetMetrics()]

### -hottrack

-hottrack => 0/1 (default 0)

[Attribute valid for Object: Header, TabStrip]

### -icon

-icon => Win32::GUI::Icon object

[Attribute valid for Object: Class, NotifyIcon]

### -id

-id => NUMBER

A unique identifier for the NotifyIcon object

[Attribute valid for Object: NotifyIcon]

### -imagelist

-imagelist => Win32::GUI::ImageList object

[Attribute valid for Objects: Header, ReBar, TabStrip, Toolbar]

### -italic

-italic => 0/1

     [TBD]

[Attribute valid for Object: Font] [Attribute valid for Method: `GetMetrics()]`

### -justify

-justify => 0/1 (default 0)

[Attribute valid for Object: TabStrip]

### -keepselection

-keepselection => 0/1 (default 0)

The selection is not hidden when the control loses focus.

[Attribute valid for Object: Textfield]

### -left

-left => NUMBER

     [TBD]

[Attribute valid for Attribute: -prompt]

### -maxheight

-maxheight => N

Specify the minimum and maximum size width and height, in pixels

[Attribute valid for Object: Window]

### -maxsize

-maxsize => [X, Y]

Specifies the maximum size (width and height) in pixels; X and Y must be passed in an array reference

[Attribute valid for Object: Window]

### -maxwidth

-maxwidth => N

     [TBD]

[Attribute valid for Object: Window]

[Attribute valid for Method: GetMetrics()]

### -menu

-menu => STRING

A menu name (not yet implemented) [TBI].

[Attribute valid for Object: Class]

### -minheight

-minheight => N

     [TBD]

[Attribute valid for Object: Window]

[Attribute valid for Method: InsertBand(%ATTRIBUTES)]

### -minsize

-minsize => [X, Y]

Specifies the minimum size (width and height) in pixels; X and Y must be passed in an array reference

[Attribute valid for Object: Window]

### -minwidth

-minwidth => N

     [TBD]

[Attribute valid for Object: Window] [Attribute valid for Method: InsertBand(%ATTRIBUTES)]

### -multiline

-multiline => 0/1 (default 0)

The control can have more than one line (note that newline is ``\r\n'', not ``\n''!).

[Attribute valid for Object: Textfield, TabStrip, ToolBar]

### -multisel

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

Specifies the selection type:

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

[Attribute valid for Object: Listbox]

### -name

-name => STRING

The name for the object

Note: Class->-name Must be unique!

[Attribute valid for Object: OBJECTS]

### -nodivider

-nodivider => 0/1

[Attribute valid for Object: ToolBar]

### -noprefix

-noprefix => 0/1 (default 0)

Disables the interpretation of ``&'' as accelerator prefix.

[Attribute valid for Object: Label]

### -notify

-notify => 0/1 (default 0)

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

[Attribute valid for Object: Label]

### -ok

-ok => 0/1 (default 0)

     [TBD]

[Attribute valid for Object: Button]

### -orientation

     [TBD]

[Attribute valid for Object: Font]

### -outputprecision

     [TBD]

[Attribute valid for Object: Font]

### -quality

     [TBD]

[Attribute valid for Object: Font]

### -password

-password => 0/1 (default 0)

Masks the user input (like password prompts).

[Attribute valid for Object: Textfield]

### -passwordchar

-passwordchar => char (default '*')

The char that is shown instead of the text with -password => 1.

[Attribute valid for Object: Textfield]

### -prompt

-prompt => [see below]

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

[Attribute valid for Object: Textfield]

### -readonly

-readonly => 0/1 (default 0)

Text can't be changed.

[Attribute valid for Object: Textfield]

### -right

-right => 0/1 (default 0)

[Attribute valid for Object: TabStrip]

### -size

     [TBD]

[Attribute valid for Object: Font]

### -smooth

-smooth => 0/1 (default 0)

Uses a smooth bar instead of the default segmented bar.

[Attribute valid for Object: ProgressBar]

### -sort

-sort => 0/1 (default 0)

Items are sorted alphabetically.

[Attribute valid for Object: Listbox]

### -strikeout

-strikeout => 0/1

     [TBD]

[Attribute valid for Object: Font]

[Attribute valid for Object: GetMetrics()]

### -style

-style => NUMBER

-style => FLAGS

Use with caution!

[Attribute valid for Object: Brush, Class, MenuItem, Window]

### -sunken

-sunken => 0/1 (default 0)

Draws a half-sunken border around the control.

[Attribute valid for Object: Label]

### -tabstop

-tabstop => 0/1

     [TBD]

[Attribute valid for Object: All OBJECTS]

### -text

-text => STRING

     [TBD]

[Attribute valid for Methods: ChangeItem(NODE, %ATTRIBUTES), ChangeItem(ITEM, %ATTRIBUTES), GetItem(NODE), InsertBand(%ATTRIBUTES), InsertItem(%ATTRIBUTES)]

### -tip

-tip => STRING

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

[Attribute valid for Object: NotifyIcon]

### -title

-title => STRING

     [TBD]

[Attribute valid for Object: Window]

### -top

-top => NUMBER

     [TBD]

[Attribute valid for Object: OBJECTS]

### -topmost

-topmost => 0/1 (default 0)

The window ``stays on top'' even when deactivated

[Attribute valid for Object: Window]

### -transparent

-transparent => 0/1 (default 0)

Draws the Animation using a transparent background

[Attribute valid for Object: Animation]

### -truncate

-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

The text's path is truncated before the last ``\'' (used to shorten paths).

[Attribute valid for Object: Label]

### -underline

-underline => 0/1

     [TBD]

[Attribute valid for Object: Font]

[Attribute valid for Method: GetMetrics()]

### -valign

-valign => top/center/bottom

     [TBD]

[Attribute valid for Object: Button]

### -varheight

-varheight => 0/1 (default 1)

Display bands using the minimum required height.

[Attribute valid for Object: ReBar]

### -vertical

-vertical => 0/1 (default 0)

Display Object (control) vertically (from bottom to top).

[Attribute valid for Object: ProgressBar, TabStrip]

### -visible

-visible => 0/1

     [TBD]

[Attribute valid for Object: OBJECTS]

### -weight

     [TBD]

[Attribute valid for Object: Font]

### -widget

-widget => STRING

Name of a widget class to subclass; currently available are: Button, Listbox, TabStrip, RichEdit.

[Attribute valid for Object: Class]

### -width

-width => NUMBER

     [TBD]

[Attribute valid for Object: OBJECTS]

[Attribute valid for Methods: InsertBand(%ATTRIBUTES), InsertItem(%ATTRIBUTES)]

    =head3 -wrap

-wrap => 0/1 (default 1)

The text wraps automatically to a new line.

[Attribute valid for Object: Label]

## EVENTS

### _Activate()

Sent when the window is Activated.

[Event valid for Object: OBJECTS]

### _BeginTrack(INDEX, WIDTH)

Sent when a divider of the Header control is being moved; the event must return 0 to prevent moving the divider, 1 to allow it. Passes the zero-based INDEX of the item being resized and its current WIDTH.

[Event valid for Object: Header]

### _ButtonClick(INDEX)

Sent when the user presses a button of the Toolbar the INDEX argument identifies the zero-based index of the pressed button

[Event valid for Object: ToolBar]

### _Change()

Sent when the object (control) changes.

[Event valid for Objects: Combobox, RichEdit, TabStrip, Textfield]

### _Changing()

Sent before the current selection changes. Use `SelectedItem()` to determine the current selection. The event should return 0 to prevent the selection changing, 1 to allow it.

[Event valid for Object: TabStrip]

### _Click()

Sent when the user clicks the left mouse button on Object (control).

[Event valid for Objects: Button, Checkbox, Label, Listbox, Menu, NotifyIcon, RadioButton]

### _Collapse(NODE)

Sent when the user closes the specified NODE of the TreeView.

[Event valid for Object: TreeView]

### _Collapsing(NODE)

Sent when the user is about to close the specified NODE of the TreeView. The event should return 0 to prevent the action, 1 to allow it.

[Event valid for Object: TreeView]

### _ColumnClick(ITEM)

Sent when the user clicks on a column header in the ListView; ITEM specifies the one-based index of the selected column.

[Event valid for Object: ListView]

### _DblClick()

[TBD]

[Event valid for Object: Button, Checkbox, Label, Listbox, RadioButton]

### _Deactivate()

Sent when the window is deactivated.

[Event valid for Object: ]

### _DividerDblClick(INDEX)

Sent when the user double-clicked on a divider of the Header control.

[Event valid for Object: Header]

### _EndTrack(INDEX, WIDTH)

Sent when a divider of the Header control has been moved. Passes the zero-based INDEX of the item being resized and its current WIDTH.

[Event valid for Object: Header]

### _Expand(NODE)

Sent when the user opens the specified NODE of the TreeView.

[Event valid for Object: TreeView]

### _Expanding(NODE)

Sent when the user is about to open the specified NODE of the TreeView The event should return 0 to prevent the action, 1 to allow it.

[Event valid for Object: TreeView]

### _GotFocus()

[TBD]

[Event valid for Objects: Button, Checkbox, Listbox, RadioButton, RichEdit, Textfield]

### _HeightChange()

Sent when the height of the Rebar control has changed.

[Event valid for Object: ReBar]

### _ItemClick(INDEX)

Sent when the user clicked on a Header item.

[Event valid for Object: Header]

### _ItemClick(ITEM)

Sent when the user selects an item in the ListView; ITEM specifies the zero-based index of the selected item.

[Event valid for Object: ListView]

### _ItemDblClick(INDEX)

Sent when the user double-clicked on a Header item.

[Event valid for Object: Header]

### _KeyDown(KEY)

Sent when the user presses a key while the Object (control) has focus; KEY is the ASCII code of the key being pressed.

[Event valid for Object: ListView, TreeView]

### _LostFocus()

Occurs when the Object (control) is deactivated

[Event valid for Objects: Button, Checkbox, Listbox, RadioButton, RichEdit, Textfield]

### _Maximize()

Sent when the window is maximized.

[Event valid for Object: ]

### _Minimize()

Sent when the window is minimized.

[Event valid for Object: ]

### _MouseEvent(MSG)

Sent when the user performs a mouse event on a NotifyIcon; MSG is the message code.

[Event valid for Object: NotifyIcon]

### _NodeClick(NODE)

Sent when the user clicks on the specified NODE of the TreeView.

[Event valid for Object: TreeView]

### _Resize()

Sent when the window is resized.

[Event valid for Object: Window]

### _RightClick()

Sent when the user clicks the right mouse button on a NotifyIcon.

[Event valid for Object: NotifyIcon]

### _Scroll()

Sent when the user moves an arrow in the Object (control).

[Event valid for Object: Slider, UpDown]

### _Terminate()

Sent when the window is closed. The event should return -1 to terminate the interaction and return control to the perl script; see `Dialog()`

[Event valid for Object: Window]

### _Timer()

Sent when the Timer reaches its timeout value, eg. after the number of milliseconds specified when creating the Timer.

[Event valid for Object: Timer]

### _Track(INDEX, WIDTH)

Sent while a divider of the Header Object (control) is being moved; the event must return 1 to continue moving the divider, 0 to end its movement. Passes the zero-based INDEX of the item being resized and its current WIDTH.

[Event valid for Object: Header]

## METHODS

### Add(BITMAP, [BITMAPMASK])

Adds a bitmap to the ImageList; both BITMAP and BITMAPMASK can be either Win32::GUI::Bitmap objects or filenames.

[Method valid for Objects: ImageList]

### AddAnimation

     [TBD]

[Method valid for Objects: Window]

### AddBitmap(BITMAP, [BITMAPMASK])

Adds a Win32::GUI::Bitmap object to the ImageList. BITMAPMASK is optional. See also Add(BITMAP, [BITMAPMASK]).

[Method valid for Objects: ImageList]

### AddBitmap(BITMAP, NUMBUTTONS)

[TBD]

[Method valid for Object: ToolBar]

### AddButton

     [TBD]

[Method valid for Objects: Window]

### AddButtons(NUMBER, ...)

     [TBD]

[Method valid for Object: ToolBar]

### AddCheckbox

     [TBD]

[Method valid for Objects: Window]

### AddCombobox

     [TBD]

[Method valid for Objects: Window]

### AddHeader

     [TBD]

[Method valid for Objects: Window]

### AddLabel

     [TBD]

[Method valid for Objects: Window]

### AddListbox

     [TBD]

[Method valid for Objects: Window]

### AddListView

     [TBD]

[Method valid for Objects: Window]

### AddMenu

     [TBD]

[Method valid for Objects: Window]

### AddMenuButton

     [TBD]

[see new Win32::GUI::MenuButton()]

### AddMenuItem()

see new Win32::GUI::MenuItem()

[Method valid for Object: MenuButton]

### AddNotifyIcon

     [TBD]

[Method valid for Objects: Window]

### AddProgressBar

     [TBD]

[Method valid for Objects: Window]

### AddRadioButton

     [TBD]

[Method valid for Objects: Window]

### AddRebar

     [TBD]

[Method valid for Objects: Window]

### AddRichEdit

     [TBD]

[Method valid for Objects: Window]

### AddSlider

     [TBD]

[Method valid for Objects: Window]

### AddStatusBar

     [TBD]

[Method valid for Objects: Window]

### AddString(STRING)

Adds an item at the end of the index in the Object (control).

[Method valid for Object: Combobox, Listbox, ToolBar]

### AddTabStrip

     [TBD]

[Method valid for Objects: Window]

### AddTextfield

     [TBD]

[Method valid for Objects: Window]

### AddTimer

     [TBD]

[Method valid for Objects: Window]

### AddToolbar

     [TBD]

[Method valid for Objects: Window]

### AddTreeView

     [TBD]

[Method valid for Objects: Window]

### AddUpDown

     [TBD]

[Method valid for Objects: Window]

### Arc(X, Y, RADIUS, START, SWEEP)

[TBD]

[Method valid for Objects: DC]

### Arrange([FLAG])

Arranges items in the ListView; the optional FLAG parameter can be one of the following values:

     0 uses the current alignment style (this is the default)
     1 align items along the left edge of the window
     2 align items along the top edge of the window
     5 snaps icons to the nearest grid position

[Method valid for Object: ListView]

### BackColor([COLOR])

Gets or sets the background color for the Object (control).

Note RichEdit: if no COLOR is specified, the background color is reset to the default system color.

[Method valid for Objects: DC, ImageList, RichEdit]

### BandCount()

Returns the number of bands in the Rebar control.

[Method valid for Object: ReBar]

### Base([VALUE])

Gets or sets the radix base for the UpDown control; VALUE can be either 10 or 16 for decimal or hexadecimal base numbering.

[Method valid for Object: UpDown]

### BeginPath()

[TBD]

[Method valid for Object: DC]

### BkMode([MODE])

Gets or sets the current background mix mode for the DC; possible values are:

     1 TRANSPARENT
     2 OPAQUE

[Method valid for Object: DC]

### Buddy([OBJECT])

Gets or sets the buddy window for the UpDown control.

[Method valid for Object: UpDown]

### Change(%ATTRIBUTES)

Change most of the options used when the object was created.

[Method valid for Object: MenuItem]

### ChangeItem(%ATTRIBUTES)

[TBD]

[Method valid for Object: ListView]

### ChangeItem(INDEX, %ATTRIBUTES)

Changes the options for an item in the Header control. Returns nonzero if successful, zero otherwise. For a list of the available options [see InsertItem()]

[Method valid for Object: Header]

### ChangeItem(NODE, %ATTRIBUTES)

Change most of the options used when the item was created (see InsertItem()).

Allowed `%ATTRIBUTES` are:

     -text
     -image
     -selectedimage

[Method valid for Object: TreeView]

### ChangeItem(ITEM, %ATTRIBUTES)

Change most of the options used when the item was created (see InsertItem()). Allowed `%ATTRIBUTES` are:

     -image
     -text

[Method valid for Object: TabStrip]

### CharFromPos(X, Y)

Returns a two elements array identifying the character nearest to the position specified by X and Y. The array contains the zero-based index of the character and its line index.

[Method valid for Object: RichEdit]

### Checked(...)

[TBD]

[Method valid for Object: MenuItem]

### Checked([VALUE])

Gets or sets the checked state of the Object (control); if called without arguments, returns the current state:

RadioButton 0 not checked 1 checked

Checkbox 0 not checked 1 checked 2 indeterminate (grayed)

If a VALUE is specified, it can be one of these (eg. 0 to uncheck the Object (control), 1 to check it).

[Method valid for Object: CheckBox, RadioButton]

### Circle(X, Y, (WIDTH, HEIGHT | RADIUS))

Draws a circle or an ellipse; X, Y, RADIUS specifies the center point and the radius of the circle, while X, Y, WIDTH, HEIGHT specifies the center point and the size of the ellipse. Returns nonzero if succesful, zero on errors.

[Method valid for Object: DC]

### Clear()

Deletes all items from the Object (control).

[For Combobox, Listbox see Reset()]

[Method valid for Objects: Combobox, Listbox, ListView]

### Clear([NODE])

Deletes all nodes from the TreeView if no argument is given; otherwise, delete all nodes under the given NODE.

[Method valid for Object: TreeView]

### Collapse(NODE)

Closes a NODE of the TreeView.

[Method valid for Object: TreeView]

### Count()

Returns the number of index items (nodes for TreeView) in the Object (control).

[Method valid for Object: ImageList, Listbox, ListView, TabStrip, TreeView]

### Close()

Closes the `Open()ed` AVI file.

[Method valid for Object: Animation]

### CloseFigure()

[TBD]

### ColumnWidth(COLUMN, [WIDTH])

Gets or sets the width of the specified COLUMN; WIDTH can be the desired width in pixels or one of the following special values:

     -1 automatically size the column
     -2 automatically size the column to fit the header text

[Method valid for Object: ListView]

### Count()

Returns the number of items in the Object (control)

[Method valid for Objects: Combobox, Header, ImageList]

### Create(WIDTH, HEIGHT, PLANES, BPP, DATA)

[TBD]

[Method valid for Object: Bitmap]

### DeleteBand(INDEX)

Deletes the zero-based INDEX band from the Rebar.

[Method valid for Object: ReBar]

### DeleteColumn(INDEX)

[TBD]

[Method valid for Object: ListView]

### DeleteItem(INDEX)

Deletes the zero-based INDEX item from the Object (control).

[Method valid for Object: Header, ListView, TabStrip]

### DeleteItem(NODE)

Removes the specified NODE from the TreeView.

[Method valid for Object: TreeView]

### EditLabel(INDEX)

[TBD]

[Method valid for Object: ListView]

### Ellipse(LEFT, TOP, RIGHT, BOTTOM)

[TBD]

[Method valid for Object: DC]

### Enabled(...)

[TBD]

[Method valid for Object: MenuItem]

### EndPath()

[TBD]

[Method valid for Object: DC]

### EnsureVisible(INDEX, [FLAG])

[TBD]

[Method valid for Object: ListView]

### EnsureVisible(NODE)

Ensures that the specified NODE is visible in the TreeView.

[Method valid for Object: TreeView]

### Expand(NODE, [FLAG])

Opens a NODE of the TreeView; the optional FLAG parameter can indicate different operations:

     1 expand (this is the default)
     2 collapse
     3 toggle (expand if it was collapsed and collapse if it was expanded)

[Method valid for Object: TreeView]

### Fill(X, Y, [COLOR], [TYPE])

[TBD]

[Method valid for Object: DC]

### FillPath()

[TBD]

[Method valid for Object: DC]

### FindString(STRING, [INDEX])

Searches the Listbox for an item that begins with the specified STRING. The optional INDEX parameter tells to start the search from the specified position; if no parameter is given, the whole list is searched. Returns the zero-based index of the found item or -1 if no matching item was found.

[Method valid for Object: Listbox]

### FindStringExact(STRING, [INDEX])

Searches the Listbox for an item that exactly matches the specified STRING (case insensitively). The optional INDEX parameter tells to start the search from the specified position; if no parameter is given, the whole list is searched. Returns the zero-based index of the found item or -1 if no matching item was found.

[Method valid for Object: Listbox]

### FirstVisibleItem([INDEX])

Gets the zero-based index of the first visible item in the List portion of the Object (control), or sets it to the specified INDEX.

[Method valid for Object: Combobox, Listbox]

### FirstVisibleLine()

Returns the first visible line in the RichEdit control.

[Method valid for Object: RichEdit]

### FirstVisible([NODE])

Gets or sets the first visible NODE in the TreeView; if a NODE is given, it is selected and, if possible, it becomes the first visible one.

[Method valid for Object: TreeView]

### GetCharFormat([FLAG])

[TBD]

[Method valid for Object: RichEdit]

### GetCheck()

Returns the check state of the Checkbox:

     0 not checked
     1 checked
     2 indeterminate (grayed)

[Method valid for Object: Checkbox]

### GetChild(NODE)

Returns the handle of the first child node for the given NODE.

[Method valid for Object: TreeView]

### GetDC

[TBD]

[See DC]

### GetDIBits()

[TBD]

[Method valid for Object: Bitmap]

### GetFirstVisible()

Returns the index of the first visible item in the ListView.

[Method valid for Object: ListView]

### GetItem(NODE)

Returns an associative array of information about the given NODE:

     -text
     -image
     -selectedimage
     -children

[Method valid for Object: TreeView]

### GetMetrics()

Returns an associative array of information about the Font:

     L<"-height">
     -ascent
     -descent
     -ileading
     -eleading
     -avgwidth
     L<"-maxwidth">
     -overhang
     -aspectx
     -aspecty
     -firstchar
     -lastchar
     -breakchar
     L<"-italic">
     L<"-underline">
     L<"-strikeout">
     -flags
     L<"-charset">

[Method valid for Object: ListView]

### GetNextSibling(NODE)

Returns the handle of the next sibling node for the given NODE.

[Method valid for Object: TreeView]

### GetNextVisible(NODE)

Returns the handle of the next visible node for the given NODE.

[Method valid for Object: TreeView]

### GetParent(NODE)

Returns the handle of the parent node for the given NODE.

[Method valid for Object: TreeView]

### GetPixel(X, Y)

Returns the color of the pixel at X, Y.

[Method valid for Object: DC]

### GetPrevSibling(NODE)

Returns the handle of the previous sibling node for the given NODE.

[Method valid for Object: TreeView]

### GetPrevVisible(NODE)

Returns the handle of the previous visible node for the given NODE.

[Method valid for Object: TreeView]

### GetRoot()

Returns the handle of the TreeView root node.

[Method valid for Object: TreeView]

### GetString(INDEX)

Returns the string at the specified zero-based INDEX in the Object (control).

[Method valid for Objects: Combobox, Listbox, TabStrip]

### GetStringWidth(STRING)

Returns the width, in pixels, needed to display the specified STRING in the ListView area.

[Method valid for Object: ListView]

### HitTest(X, Y)

Checks if the specified point in the ListView area is occupied by an item/node; it returns the index of the found item or zero if none was found. If called in an array context, it returns an additional value containing more info about the position of the specified point.

[Method valid for Object: ListView, TreeView]

### Indent([VALUE])

Gets or sets the indentation width, in pixels, between parents and child nodes; if the VALUE is less than the system-defined minimum, it is set to the system-defined minimum.

[Method valid for Object: TreeView]

### Info()

Returns a hash (associative array) of object attribute information. Special Cases:

Bitmap->Info() Returns a four elements array containing the following information about the bitmap: width, height, color planes, bits per pixel or undef on errors

[Method valid for Object: Bitmap]

### InsertBand(%ATTRIBUTES)

Inserts a new band in the Rebar control. Allowed `%ATTRIBUTES` are:

     -index => position or -1 to add it at the end, default -1
     L</"-image"> => index of an image from the associated ImageList
     L</"-bitmap"> => Win32::GUI::Bitmap object
     -child => child control
     L</"-foreground"> => COLOR
     L</"-background">  => COLOR
     L</"-width"> => pixels
     L</"-minwidth"> => pixels
     L</"-minheight"> => pixels
     L</"-text"> => string

[Method valid for Object: ReBar]

### InsertColumn(%ATTRIBUTES)

[TBD]

[Method valid for Object: ListView]

### InsertItem(%ATTRIBUTES)

Inserts a new item in the Object (control). Returns the newly created item zero-based index or -1 on errors. `%ATTRIBUTES` can be:

     -index  => position
     L</"-image">  => index of an image from the associated ImageList
     L</"-bitmap"> => Win32::GUI::L</"Bitmap"> object
     L</"-width">  => pixels
     L</"-height"> => pixels
     L</"-text">   => string
     L</"-align">  => left|center|right

[Method valid for Objects: Header, ListView]

Adds an item to the TabStrip. Allowed `%ATTRIBUTES` are:

     L</"-image"> => NUMBER    index of an image from the associated ImageList
     -index => NUMBER    position for the new item (if not specified, the item is added at the end of the control)
     L</"-text">  => STRING    text that will appear on the item

[Method valid for Object: TabStrip]

Inserts a new node in the TreeView. Allowed `%ATTRIBUTES` are:

     L</"-text">
     L</"-image">
     -selectedimage
     -parent
     -item

[Method valid for Object: TreeView]

### InsertItem(STRING, [INDEX])

Inserts an item at the specified zero-based INDEX in the Object (Control), or adds it at the end if INDEX is not specified.

[Method valid for Object: ComboBox, Listbox]

### Interval(ELAPSE)

Changes the timeout value of the Timer to ELAPSE milliseconds. If ELAPSE is 0, the Timer is disabled; can also be used to resume a Timer after a Kill().

[Method valid for Object: Timer]

### InvertRect(LEFT, TOP, RIGHT, BOTTOM)

Inverts the content of the rectangle from LEFT, TOP to RIGHT, BOTTOM. Returns nonzero if succesful, zero on errors.

[Method valid for Object: DC]

### ItemCheck(NODE, [VALUE])

Gets or sets the check state of the given NODE (valid only if the Object (control) was created with the -checkboxes => 1 option).

[Method valid for Object: TreeView]

### ItemFromPoint(X, Y)

Returns the zero-based index of the item nearest to the specified point; if called in a list context, returns an additional element which is TRUE if the point is inside the Listbox area, FALSE if it's outside.

[Method valid for Object: Listbox]

### ItemHeight([HEIGHT])

Gets or sets the items height in a Object (control).

[Method valid for Objects: Header, Listbox]

### ItemRect(INDEX)

Returns a four element array defining the rectangle of the specified zero-based INDEX item; the array contains (left, top, right, bottom). If not successful returns undef.

[Method valid for Object: Header]

### Kill()

Disables the Timer.

[Method valid for Object: Timer]

### LineFromChar(INDEX)

Returns the line number where the zero-based INDEX character appears.

[Method valid for Objects: RichEdit, Textfield]

### LineTo(X, Y)

Draws a line from the current drawing position up to, but not including, the point specified by X, Y. Returns nonzero if succesful, zero on errors.

[Method valid for Object: DC]

### ListIndex()

[See SelectedItem()]

[Method valid for Object: ComboBox, Listbox]

### Load(FILENAME, [FORMAT])

Loads a file named FILENAME into the RichEdit control. By default the file is a RTF (Rich Text Format) file; if you want to load a plain text file, you can set FORMAT to 1.

[Method valid for Object: RichEdit]

### MapMode([MODE])

[TBD]

[Method valid for Object: DC]

### Modified([FLAG])

Gets or sets the modified flag on the Textfield.

[Method valid for Object: Textfield]

### MoveItem(INDEX, X, Y)

Moves the specified zero-based INDEX item to the specified position, if the ListView is in big or small icon view mode; X and Y coordinates are relative to the ListView client area.

[Method valid for Object: ListView]

### MoveTo(X, Y)

Moves the current drawing position to the point specified by X, Y. Returns nonzero if succesful, zero on errors.

[Method valid for Object: DC]

### Open(FILE)

Opens the specified AVI file in the Animation control; note that the AVI file must not contain sound data.

[Method valid for Object: Animation]

### PaintDesktop()

Fills the DC content with the desktop pattern or wallpaper. Returns nonzero if succesful, zero on errors.

[Method valid for Object: DC]

### PasswordChar([CHAR])

Gets or sets the character displayed in place of normal text; if the Textfield has been created with the -password option, the default character is an asterisk (*). Note that by setting this value the text in the Textfield will be redrawn using the specified character; if the character is set to zero instead, text will be redrawn as normal

[Method valid for Object: Textfield]

### Pie(LEFT, TOP, RIGHT, BOTTOM, XF, YF, XS, YS)

[TBD]

[Method valid for Object: DC]

### Play([FROM], [TO], [REPEAT])

Plays the animation (eventually from the FROM frame to the TO frame) looping it REPEAT times. Defaults are FROM 0 (the first frame) to -1(the last frame) and REPEAT -1 (loop forever)

[Method valid for Object: Animation]

### Pos([VALUE])

Gets or sets the current position of the UpDown control.

[Method valid for Object: UpDown]

### PosFromChar(INDEX)

Returns a two elements array containing the x and y position of the specified zero-based INDEX character in the RichEdit Object (control).

[Method valid for Object: RichEdit]

### Range([MIN, MAX])

Gets or sets the range for the UpDown control; if no parameter is given, returns a two element array containing the MIN and MAX range values, otherwise sets them to the given values. If MAX is lower than MIN, the UpDown Object (control) method is reversed, eg. the up button decrements the value and the down button increments it

[Method valid for Object: UpDown]

### ReadOnly([FLAG])

Gets or sets the readonly flag on the Textfield.

[Method valid for Object: Textfield]

### Rectangle(LEFT, TOP, RIGHT, BOTTOM)

Draws a rectangle from LEFT, TOP to RIGHT, BOTTOM; the rectangle is outlined with the current pen and filled with the current brush. Returns nonzero if succesful, zero on errors.

[Method valid for Object: DC]

### Remove(INDEX)

Removes the specified zero-based INDEX image from the ImageList.

[Method valid for Object: ImageList]

### RemoveItem(INDEX)

Removes the zero-based INDEX item from the Listbox.

[Method valid for Object: Listbox, Listbox]

### Replace(INDEX, BITMAP, [BITMAPMASK])

Replaces the specified zero-based INDEX image with the image specified by BITMAP (must be a Win32::GUI::Bitmap object). BITMAPMASK is optional.

[Method valid for Object: ImageList]

### ReplaceSel(STRING, [FLAG])

Replaces the current selection with the given STRING. The optional FLAG parameter can be set to zero to tell the control that the operation cannot be undone; see also Undo().

[Method valid for Object: RichEdit, Textfield]

### Reset()

Deletes the content of the Object (control).

[Method valid for Objects: ComboBox, Listbox, TabStrip, TreeView]

### Restore([STATE])

Restores the state of the DC saved by `Save().` STATE can identify a state from the saved stack (use the identifier returned by the corresponding `Save()` call) or a negative number that specifies how many steps backwards in the stack to recall (eg. -1 recalls the last saved state). The default if STATE is not specified is -1. Note that the restored state is removed from the stack, and if you restore an early one, all the subsequent states will be removed too. Returns nonzero if succesful, zero on errors. [See also `Save()].`

[Method valid for Object: DC]

### RowCount()

Returns the number of rows in the Rebar control.

[Method valid for Object: ReBar]

### Save()

Saves the current state of the DC (this means the currently selected colors, brushes, pens, drawing modes, etc.) to an internal stack. The function returns a number identifying the saved state; this number can then be passed to the `Restore()` function to load it back. If the return value is zero, an error occurred. See also `Restore().`

[Method valid for Object: DC]

### Save(FILENAME, [FORMAT])

Saves the content of the RichEdit control in a file named FILENAME. By default the file is a RTF (Rich Text Format) file; if you want to save in a plain text file, you can set FORMAT to 1.

[Method valid for Object: RichEdit]

### Seek(FRAME)

Positions the AVI file to the specified FRAME.

[Method valid for Object: Animation]

### Select(INDEX)

Selects the zero-based INDEX item in the Object (control).

[Method valid for Object: ComboBox, Listbox, ListView, TabStrip]

### Select(NODE, [FLAG])

Selects the given NODE in the TreeView; the optional FLAG parameter can be set to 5 if you want the selected NODE to become, if possible, the first visible item in the TreeView.

[Method valid for Object: TreeView]

### Select(START, END)

Selects the characters range from START to END.

[Method valid for Object: RichEdit, Textfield]

### SelectCount()

Returns the number of selected items in a multiple selection list.

[Method valid for Object: Listbox, ListView]

### SelectedItem()

Returns the zero-based index of the currently selected item, or -1 if no item is selected.

[Method valid for Object: Listbox, TabStrip]

Returns the handle of the currently selected node.

[Method valid for Object: TreeView]

### SelectedItems()

Returns an array containing the zero-based indexes of the selected items in a multiple selection Listbox.

[Method valid for Object: Listbox]

### Selection()

Returns a two elements array containing the current selection start and end.

[Method valid for Object: RichEdit]

### SelectObject(OBJECT)

[TBD]

[Method valid for Object: DC]

### SelectString(STRING, [INDEX])

Searches the Listbox for an item that begins with the specified STRING and, if found, selects that item. The optional INDEX parameter tells to start the search from the specified position; if no parameter is given, the whole list is searched. Returns the zero-based index of the selected item or -1 if no matching item was found.

[Method valid for Object: Listbox]

### SetBitmapSize([X, Y])

[TBD]

[Method valid for Object: ToolBar]

### SetCharFormat(%ATTRIBUTES)

[TBD]

[Method valid for Object: RichEdit]

### SetCheck([VALUE])

Sets the check state of the Checkbox; for a list of possible values, see `GetCheck().` If called without arguments, it checks the Checkbox (eg. state = 1).

[Method valid for Object: Checkbox]

### SetImage(BITMAP)

Draws the specified BITMAP, a Win32::GUI::Bitmap object, in the Label (must have been created with -bitmap => 1 option).

[Method valid for Objects: Label]

### SetImageList(IMAGELIST, [TYPE])

[TBD]

[Method valid for Object: ListView, TreeView]

### SetItem(%ATTRIBUTES)

[See `ChangeItem()]`

[Method valid for Object: ListView]

### SetParaFormat(%ATTRIBUTES)

[TBD]

[Method valid for Object: RichEdit]

### SetPixel(X, Y, [COLOR])

Sets the pixel at X, Y to the specified COLOR (or to the current `TextColor()` if COLOR is not specified).

[Method valid for Object: DC]

### SetPos(VALUE)

Sets the position of the ProgressBar to the specified VALUE.

[Method valid for Object: ProgressBar]

### SetRange([MIN], MAX)

Sets the range of values (from MIN to MAX) for the ProgressBar; if MIN is not specified, it defaults to 0.

[Method valid for Object: ProgressBar]

### SetStep([VALUE])

Sets the increment value for the ProgressBar; see `StepIt().`

[Method valid for Object: ProgressBar]

### Size([X, Y])

Gets or sets the size of the images in the ImageList; if no parameter is given, returns a 2 element array (X, Y), otherwise sets the size to the given parameters.

[Method valid for Object: ImageList]

### Sort(NODE)

Sorts the childs of the specified NODE in the TreeView.

[Method valid for Object: TreeView]

### StepIt()

Increments the position of the ProgressBar of the defined step value; [see `SetStep()]`

[Method valid for Object: ProgressBar]

### Stop()

Stops the animation currently playing.

[Method valid for Object: Animation]

### StrokeAndFillPath()

[TBD]

[Method valid for Object: DC]

### StrokePath()

[TBD]

[Method valid for Object: DC]

### TextBkColor([COLOR])

Gets or sets the background color for the text in the ListView.

[Method valid for Object: ListView]

### TextColor([COLOR])

Gets or sets the text color.

[Method valid for Object: DC, ListView]

### TextOut(X, Y, TEXT)

Draws the specified TEXT string at X, Y, using the currently selected font. Returns nonzero if succesful, zero on errors.

[Method valid for Object: DC]

### Undo()

Undoes the last change in the Textfield.

[Method valid for Object: Textfield]

### View([MODE])

Gets or sets the viewing mode of the ListView control; the returned or given MODE can have one of the following values:

     0  big icons
     1  details
     2  small icons
     3  list

[Method valid for Object: ListView]

### VisibleCount()

Returns the number of items that can be fully visible in a page of the Object (control)

[ListView Note:] If the current view state is big or small icons, the function returns the total number of items in the control.

[Method valid for Objects: ListView, TreeView]