The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
=for comment $Id: GUI.pod,v 1.6 2006/07/16 11:09:33 robertemay Exp $

=head1 NAME

Win32::GUI - Perl Win32 Graphical User Interface Extension

=head1 SYNOPSIS

  use Win32::GUI();

=head1 Table of Contents

Due to the volume of Win32::GUI documentation it is split into a number
of different sections.  The documentation is sparse in some areas, and
incomplete in others.  Patches are welcome.  The documentation does not
try to be a tutorial for Windows GUI programming, although the tutorial
should give enough information for a beginner to get started.  For
advanced features knowledge of the Win32 API is assumed, and further
information can be found from Microsoft's online resources
(L<http://msdn.microsoft.com/>).

=head2 User Guide

=over

=item * L<README|Win32::GUI::UserGuide::Readme>

What Win32::GUI is, and how to get it installed.

=item * L<Release Notes|Win32::GUI::ReleaseNotes>

Release notes.  Essential reading for old hands who want
to know what has changed between versions.

=item * L<Introduction|Win32::GUI::UserGuide::Introduction>

A short welcome.

=item * L<General Concepts|Win32::GUI::UserGuide::Concepts>

An introduction to the basic Windows GUI concepts and how they
relate to Win32::GUI

=item * L<Tutorial|Win32::GUI::Tutorial>

A Tutorial.  Essential reading for beginners: Creating your first
Win32::GUI window and all the basics that you will need.

=item * L<Frequently Asked Questions|Win32::GUI::UserGuide::FAQ>

A (currently somewhat out of date) set of Frequently asked questions
and answers.

=back

=head2 Reference

=over

=item * L<Core Packages|Win32::GUI::Reference::Packages>

Per package documentation for the core Win32::GUI packages.

=item * L<Common Events|Win32::GUI::Reference::Events>

All the events that are common to every window.

=item * L<Common Methods|Win32::GUI::Reference::Methods>

All the methods in the Win32::GUI package (and inherited by
the other packages).

=item * L<Options|Win32::GUI::Reference::Options>

Options common to most package constructors.

=back

=head2 Support Packages

=over

=item * L<Win32::GUI::AxWindow|Win32::GUI::AxWindow>

Host AxticeX controls in Win32::GUI windows

=item * L<Win32::GUI::BitmapInline|Win32::GUI::BitmapInline>

Load bitmaps from within your script, rather than a seperate
file.

=item * L<Win32::GUI::Constants|Win32::GUI::Constants>

Export any of over 1700 Win32 API constants for use with
Win32::GUI functions and methods.

=item * L<Win32::GUI::DIBitmap|Win32::GUI::DIBitmap>

Support for creating bitmaps from other graphics file formats
and more image manipulation.  Can interact with the perl GD
package if more complex image manipulation is required.

=item * L<Win32::GUI::DropFiles|Win32::GUI::DropFiles>

Accept files dragged from the Windows shell to your application.

=item * L<Win32::GUI::Grid|Win32::GUI::Grid>

Tabular data entry and display.

=item * L<Win32::GUI::GridLayout|Win32::GUI::GridLayout>

A simple layout manager.

=item * L<Win32::GUI::Scintilla|Win32::GUI::Scintilla>

An advanced source code editor control.

=back

=head1 Sample Code

There is a set of sample applications installed with
Win32::GUI, that should be found in the
F<.../Win32/GUI/demos/> directory under your library
installtion root (by default for ActiveState perl this
is at F<C:/Perl/site/lib/Win32/GUI/demos>).  There is
a viewer/launcher application installed as well.  Type
C<win32-gui-demos> at a command prompt.

=head1 EXPORTS

Release of Win32::GUI up to and including v1.03 export a large list of
constants into the callers namespace by default.  This behaviour is
changed in releases from v1.04 and onwards.

From v1.04 the support for constants is provided by
L<Win32::GUI::Constants|Win32::GUI::Constants>, and the prefered
way of getting constants exported into your namespace should be:

  use Win32::GUI();   # Empty export list to prevent default exports
  use Win32::GUI::Constants qw( ... ) # explicitly list wanted constants

although, for backwards compatibility the following are also supported:

=over

=item C<use Win32::GUI;>

Will continue to export the same list of constants as earlier versions,
but will generate a warning (under the C<use warnings;> pragma or with
the C<-w> command line option to perl).  In the future (v1.05 and later)
this syntax will stop exporting anything. v1.05 will generate a warning
that nothing is being exported. v1.06 will silently export nothing.

=item C<use Win32::GUI qw( ... );>

Will exported the requested list of constants.  The full syntax
allowed by L<Win32::GUI::Constants|Win32::GUI::Constants> may be
used.

=back

Please see the L<v1.04 Release Notes|Win32::GUI::ReleaseNotes::RN_1_04>
for further information on backwards compatability and making old
scripts work.

__W32G_POSTAMBLE__