=head2 Package Win32::GUI::Header

L<Back to the Packages|guipacks/>

=over

=item *

L<Constructor>

=over

=item *

L<new Win32::GUI::Header(PARENT, %OPTIONS)|/new_Win32_GUI_Header_PARENT_>

=back

=item *

L<Methods>

=over

=item *

L<ChangeItem(INDEX, %OPTIONS)|/ChangeItem_INDEX_OPTIONS_>

=item *

L<Clear()|/Clear_>

=item *

L<Count()|/Count_>

=item *

L<DeleteItem(INDEX)|/DeleteItem_INDEX_>

=item *

L<HitTest(X, Y)|/HitTest_X_Y_>

=item *

L<InsertItem(%OPTIONS)|/InsertItem_OPTIONS_>

=item *

L<ItemRect(INDEX)|/ItemRect_INDEX_>

=item *

L<Reset()|/Reset_>

=back

=item *

L<Events>

=over

=item *

L<BeginTrack(INDEX, WIDTH)|/BeginTrack_INDEX_WIDTH_>

=item *

L<DividerDblClick(INDEX)|/DividerDblClick_INDEX_>

=item *

L<EndTrack(INDEX, WIDTH)|/EndTrack_INDEX_WIDTH_>

=item *

L<ItemClick(INDEX)|/ItemClick_INDEX_>

=item *

L<ItemDblClick(INDEX)|/ItemDblClick_INDEX_>

=item *

L<Track(INDEX, WIDTH)|/Track_INDEX_WIDTH_>

=back

=back

=head3 Constructor

=over 4

=for html <A NAME="new_Win32_GUI_Header_PARENT_">

=item 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

=for html <P>

=back

=head3 Methods

=over 4

=for html <A NAME="ChangeItem_INDEX_OPTIONS_">

=item ChangeItem(INDEX, %OPTIONS)

Changes the options for an item in the Header control. Returns nonzero
if successful, zero otherwise.
For a list of the available options see  L<InsertItem()|/InsertItem_OPTIONS_>.

=for html <P>

=for html <A NAME="Clear_">

=item Clear()

Deletes all items from the control.

=for html <P>

=for html <A NAME="Count_">

=item Count()

Returns the number of items in the Header control.

=for html <P>

=for html <A NAME="DeleteItem_INDEX_">

=item DeleteItem(INDEX)

Deletes the zero-based INDEX item from the Header.

=for html <P>

=for html <A NAME="HitTest_X_Y_">

=item HitTest(X, Y)

Checks if the specified point is on an Header item;
it returns the index of the found item or -1 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.

=for html <P>

=for html <A NAME="InsertItem_OPTIONS_">

=item InsertItem(%OPTIONS)

Inserts a new item in the Header control. Returns the newly created
item zero-based index or -1 on errors.
%OPTIONS can be:

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

=for html <P>

=for html <A NAME="ItemRect_INDEX_">

=item 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 succesful returns undef.

=for html <P>

=for html <A NAME="Reset_">

=item Reset()

See  L<Clear()|/Clear_>.

=for html <P>

=back

=head3 Events

=over 4

=for html <A NAME="BeginTrack_INDEX_WIDTH_">

=item 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.

=for html <P>

=for html <A NAME="DividerDblClick_INDEX_">

=item DividerDblClick(INDEX)

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

=for html <P>

=for html <A NAME="EndTrack_INDEX_WIDTH_">

=item 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.

=for html <P>

=for html <A NAME="ItemClick_INDEX_">

=item ItemClick(INDEX)

Sent when the user clicked on a Header
item.

=for html <P>

=for html <A NAME="ItemDblClick_INDEX_">

=item ItemDblClick(INDEX)

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

=for html <P>

=for html <A NAME="Track_INDEX_WIDTH_">

=item Track(INDEX, WIDTH)

Sent while a divider of the Header 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.

=for html <P>

=back

=cut
