NAME
Win32API::Const - Access Win32 constants such as WM_CLOSE, HELP_CONTENTS, etc.
SYNOPSIS
#
# Access value of WM_CLOSE without importing it
#
use
Win32API::Const;
"WM_CLOSE = "
, Win32API::Const::WM_CLOSE(),
"\n"
;
#
# Import and access values of WM_CLOSE and HELP_CONTENTS
#
"WM_CLOSE = "
, WM_CLOSE(),
"\n"
;
"HELP_CONTENTS = "
, HELP_CONTENTS(),
"\n"
;
#
# Import WM_CLOSE, along with all constants whose names start with WS_ or SE_
#
"WM_CLOSE = "
, WM_CLOSE(),
"\n"
;
"WS_MAXIMIZE = "
, WS_MAXIMIZE(),
"\n"
;
"WS_MINIMIZE = "
, WS_MINIMIZE(),
"\n"
;
"WS_OVERLAPPED = "
, WS_OVERLAPPED(),
"\n"
;
"SE_SHUTDOWN_NAME = "
, SE_SHUTDOWN_NAME(),
"\n"
;
DESCRIPTION
The Win32API::Const module allows you to access the values of Win32 constants by name. Almost 6,000 constants are included -- these were parsed from the egcs 1.1 header files: Defines.h, Messages.h, Errors.h, Base.h, and Sockets.h.
Constant names and values were parsed from the egcs 1.1 Win32 header files (egcs is the free GNU C/C++ compiler). You can download the Win32 version of egcs from <ftp://ftp.xraylith.wisc.edu/pub/khan/gnu-win32/>.
A full list of Win32 constants and their meanings can be found in the documentation for your Win32 C/C++ compiler or in the Microsoft Developer Network (MSDN).
IMPORT A CONSTANT
To import a constant, specify its name on the use
line. For example, to import the constants WM_CLOSE
and SE_SHUTDOWN_NAME
, do this:
Then, you can get the value of the constant by calling it like a subroutine.
my
$value
= WM_CLOSE();
"The value of WM_CLOSE is: $value\n"
;
IMPORT A RANGE OF CONSTANTS
If you want to import all Win32 constants that start with, let's say, "WM_", then place ":WM_" in the import list. For example:
"The value of WM_CLOSE is: "
, WM_CLOSE(),
"\n"
;
"The value of WM_HELP is: "
, WM_HELP(),
"\n"
;
You can import an individual constant and a range of constants on the same line. For example, let's say you wan to import all the constants that start with WM_
and HELP_
, along with the constant named SE_SHUTDOWN_NAME
.
The order you list stuff in the import list does not matter.
Note that importing :WM
is different than importing :WM_
(note the trailing underscore). The former imports constants such as WMSZ_BOTTOM
, whereas the latter does not. It's up to you what you want to do.
USE A CONSTANT WITHOUT IMPORTING IT
You can still use a constant, even if you do not import it into your namespace -- heck, even if you do not import any constants into your namespace. Just call it like you would any subroutine, and specify the full Win32API::Const package name.
use
Win32API::Const;
"WM_CLOSE = "
, Win32API::Const::WM_CLOSE(),
"\n"
;
COPYRIGHT
Win32API::Const -- Basic API Constants Copyright (C) 1998 Brian Dellert: <aspider@pobox.com>, 206/689-6828, <http://www.applespider.com>
Constants parsed from the egcs 1.1 header files Defines.h, Messages.h, Errors.h, Base.h, & Sockets.h
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program (gpl.license.txt); if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.