Win32API::Const - Access Win32 constants such as WM_CLOSE, HELP_CONTENTS, etc.


Win32API-Const documentation  | view source Contained in the Win32API-Const distribution.

Index


NAME

Top

Win32API::Const - Access Win32 constants such as WM_CLOSE, HELP_CONTENTS, etc.

SYNOPSIS

Top

  #
  # Access value of WM_CLOSE without importing it
  #
  use Win32API::Const;
  print "WM_CLOSE         = ", Win32API::Const::WM_CLOSE(), "\n";




  #
  # Import and access values of WM_CLOSE and HELP_CONTENTS
  #
  use Win32API::Const qw(WM_CLOSE HELP_CONTENTS);
  print "WM_CLOSE         = ", WM_CLOSE(),      "\n";
  print "HELP_CONTENTS    = ", HELP_CONTENTS(), "\n";




  #
  # Import WM_CLOSE, along with all constants whose names start with WS_ or SE_
  #
  use Win32API::Const qw(:WS_ WM_CLOSE :SE_);
  print "WM_CLOSE         = ", WM_CLOSE(),         "\n";
  print "WS_MAXIMIZE      = ", WS_MAXIMIZE(),      "\n";
  print "WS_MINIMIZE      = ", WS_MINIMIZE(),      "\n";
  print "WS_OVERLAPPED    = ", WS_OVERLAPPED(),    "\n";
  print "SE_SHUTDOWN_NAME = ", SE_SHUTDOWN_NAME(), "\n";

DESCRIPTION

Top

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:

  use Win32API::Const qw(WM_CLOSE SE_SHUTDOWN_NAME);

Then, you can get the value of the constant by calling it like a subroutine.

  my $value = WM_CLOSE();
  print "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:

  use Win32API::Const qw(:WM_);
  print "The value of WM_CLOSE is: ", WM_CLOSE(), "\n";
  print "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.

  use Win32API::Const qw(:WM_ SE_SHUTDOWN_NAME :HELP_);

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;

  print "WM_CLOSE = ", Win32API::Const::WM_CLOSE(), "\n";

COPYRIGHT

Top

SEE ALSO

Top


Win32API-Const documentation  | view source Contained in the Win32API-Const distribution.