ANNOUNCE: Win32::GUI V1.05

I am please to announce that v1.05 of Win32::GUI is available for
download from SourceForge and CPAN.

Win32::GUI is a Perl extension allowing creation of native Win32 GUI


Project Homepage:

Project summary:

- Source and ActiveState Perl PPM distributions:
- Source only:

Release notes:


Win32::GUI::ReleaseNotes::RN_1_05 - release notes for v1.05 of

Release Date
5th November, 2006

Summary of Changes
This is a summary of changes between V1.04 and V1.05 See the CHANGELOG
file in the distribution for the full detail.

This release is a bug-fix release addressing the issues below.

New Features
There are no new features in this release.

Bug Fixes
NEM Events for NotifyIcon broken
Fix NEM events for the NotifyIcon Class (Tracker: 1585293)

Combobox SetEditSel method
Fix bug preventing setting the starting index to anything other than
0, and add documentation. (Tracker: 1586617)

Fix AbsLeft and AbsTop methods
Fix a bug where AbsLeft and AbsTop were not correctly being
converted to client co-ordinates for child windows (Tracker:

Include POD documentation in PPM
Some time ago it was decided that in order to keep the size of the
PPM distributions as small as possible we would exclude the POD
documentation from the PPM files, and only include the HTML
documentation. From this release both POD and HTML documentation is
included in the PPM. This fixes a problem with ActiveState Perl PPM
V4, which re-generates the documentation from the enclosed POD
documents, apparently ignorig the included HTML documentation.

Deprecated feature status
This section documents features that have been deprecated in this
release, or in recent releases, and feature that will be deprecated in
up-coming releases.

The introduction of Win32::GUI::Constants in v1.04 means that we now
have access to a very large number of constants, so the current
behaviour of Win32::GUI to export all constants to the calling namespace
by default is no longer appropriate. So, a bare

use Win32::GUI;

now generates a warning that the old default behaviour will be
deprecated - although the export behaviour of Win32::GUI v1.03 is
maintained except for this warning.

To eliminate this warning and correct your script, do one of the

If you don't need any constants, use the empty list:
use Win32::GUI();

If you need some constants, name them explicitly:
use Win32::GUI qw(ES_WANTRETURN CW_USEDEFAULT); # Two constants exported
use Win32::GUI qw(/^MB_/); # Export all constants starting with MB_

See the Win32::GUI::Constants documentation for the full allowable

You are advised to fix your scripts now, as a future version will stop
exporting any constants by default.

Although not advised, you can suppress the warnings by turning
deprecated warnings off:

no warnings 'deprecated';

Additionally accessing constants from within the Win32::GUI namespace is
deprecated. I.e.

-addstyle => Win32::GUI::WS_BORDER,

will generate a warning with this release, and will stop working with a
future release. Use one of the following methods instead:

use the Win32::GUI::Constants namespace instead
-addstyle => Win32::GUI::Constants::WS_BORDER(),

use any other namespace you fancy
use Win32::GUI qw(-exportpkg => A::B -autoload);
-addstyle => A::B::WS_BORDER(),

maintain compatibility of existing scripts
use Win32::GUI::Constants qw(-exportpkg => Win32::GUI :compatibility_win32_gui);
-addstyle => Win32::GUI::WS_BORDER,

It is no longer necessary to use the '-id' option to any of the
Win32::GUI::NotifyIcon methods. The ID is now entirely handled
internally. You will receive deprecated warnings if you use it.

In particular, removing Icons from the system tray should be done using


and not by the (now deprecated)

$NI->Delete(-id => 1);

Use of the "-id" option will generate a warning.

Contributors to this release
Robert May
Uwe Kind

Posted by Robert May 2006-11-05

Log in to post a comment.