Update of /cvsroot/perl-win32-gui/Win32-GUI-AxWindow
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15455

Added Files:
        AxWindow.html AxWindow.pm AxWindow.xs Changes MANIFEST 
        Makefile.PL README TYPEMAP 
Log Message:
Added to repository

--- NEW FILE: AxWindow.pm ---
package Win32::GUI::AxWindow;

use vars qw($VERSION @ISA @EXPORT @EXPORT_OK);
use Win32::GUI;

require Exporter;
require DynaLoader;
require AutoLoader;

@ISA = qw(Exporter DynaLoader Win32::GUI::Window);

# Items to export into callers namespace by default. Note: do not export
# names by default without a very good reason. Use EXPORT_OK instead.
# Do not simply export all your public functions/methods/constants.
@EXPORT = qw();
$VERSION = '0.07';

bootstrap Win32::GUI::AxWindow $VERSION;

# Preloaded methods go here.

# Initialise

Win32::GUI::AxWindow::_Initialise();

# DeInitialise

END {
  Win32::GUI::AxWindow::_DeInitialise();
}

# Autoload methods go after =cut, and are processed by the autosplit program.

#
#  new : Create a new ActiveX Window
#

sub new {

  my $class  = shift;
  my %in     = @_;

  ### Control option
  croak("-parent undefined")  unless exists $in{-parent};
  croak("-name undefined")    unless exists $in{-name};
  croak("-control undefined") unless exists $in{-control};

  my $parent = $in{-parent};
  my $name   = $in{-name};
  my $clsid  = $in{-control};

  # print "Parent = $parent->{-name}\n";
  # print "Name = $name\n";
  # print "Control = $clsid\n";

  ### Size
  my ($x, $y, $w, $h) = (0,0,1,1);

  $x = $in{-left}       if exists $in{-left};
  $y = $in{-top}        if exists $in{-top};
  $w = $in{-width}      if exists $in{-width};
  $h = $in{-height}     if exists $in{-height};
  ($x, $y) = ($in{-pos}[0] , $in{-pos}[1]) if exists $in{-pos};
  ($w, $h) = ($in{-size}[0],$in{-size}[1]) if exists $in{-size};
  # print "(x,y) = ($x,$y)\n(w,h) = ($w,$h)\n";

  ### Window Style
  my $style = WS_CHILD | WS_CLIPCHILDREN;

  $style  = $in{-style}     if exists $in{-style};
  $style |= $in{-pushstyle} if exists $in{-pushstyle};
  $style ^= $in{-popstyle}  if exists $in{-popstyle};
  $style |= $in{-addstyle}  if exists $in{-addstyle};
  $style ^= $in{-remstyle}  if exists $in{-remstyle};

  $style |= WS_VISIBLE      unless exists $in{-visible} && $in{-visible} == 0;
  $style |= WS_TABSTOP      unless exists $in{-tabstop} && $in{-tabstop} == 0;
  $style |= WS_DISABLED     if exists $in{-enable} && $in{-enable} == 0;
  $style |= WS_HSCROLL      if exists $in{-hscroll} && $in{-hscroll} == 1;
  $style |= WS_VSCROLL      if exists $in{-vscroll} && $in{-vscroll} == 1;

  # print "Style = $style\n";

  ### Window ExStyle
  my $exstyle = 0;

  $exstyle = $in{-exstyle}      if exists $in{-exstyle};
  $exstyle |= $in{-pushexstyle} if exists $in{-pushexstyle};
  $exstyle ^= $in{-popexstyle}  if exists $in{-popexstyle};
  $exstyle |= $in{-addexstyle}  if exists $in{-addexstyle};
  $exstyle ^= $in{-remexstyle}  if exists $in{-remexstyle};

  # print "ExStyle = $exstyle\n";

  ### Create Window and ActiveX Object
  my $self = {};
  bless $self, $class;

  if ( $self->_Create($parent, $clsid, $style, $exstyle, $x, $y, $w, $h) )
  {
    ### Store Data (Win32::GUI glue)
    $self->{-name}   = $in{-name};
    $parent->{$name} = $self;

    return $self;
  }

  return undef;
}

#
# CallMethod : Use Invoke with DISPATCH_METHOD
#

sub CallMethod {
  my $self = shift;

  return $self->Invoke (0x01, @_);
}

#
# GetProperty : Use Invoke with DISPATCH_PROPERTYGET
#

sub GetProperty {

  my $self = shift;

  return $self->Invoke (0x02, @_);
}

#
# PutProperty : Use Invoke with DISPATCH_PROPERTYPUT
#

sub SetProperty {

  my $self = shift;

  return $self->Invoke (0x04, @_);
}


1;
__END__
# Below is the stub of documentation for your module. You better edit it!

=head1 NAME

Win32::GUI::AxWindow - Perl extension for Hosting ActiveX Control in Win32::GUI

=head1 SYNOPSIS

  use Win32::GUI;
  use Win32::GUI::AxWindow;

  # Main Window
  $Window = new Win32::GUI::Window (
               -name     => "Window",
               -title    => "Win32::GUI::AxWindow test",
               -post     => [100, 100],
               -size     => [400, 400],
  );

  # Add a WebBrowser AxtiveX
  $Control = new Win32::GUI::AxWindow  (
                -parent  => $Window,
                -name    => "Control",
                -control => "Shell.Explorer.2",
                # -control => "{8856F961-340A-11D0-A96B-00C04FD705A2}",
                -pos     => [0, 0],
                -size    => [400, 400],
  );

  # Register some event
  $Control->RegisterEvent("StatusTextChange",
                           sub {
                               $self    = shift;
                               $eventid = shift;
                               print "Event : ", @_, "\n";
                            } );

  # Call Method
  $Control->CallMethod("Navigate", 'http://www.perl.com/');

  # Event loop
  $Window->Show();
  Win32::GUI::Dialog();

  # Main window event handler

  sub Window_Terminate {

    return -1;
  }

  sub Window_Resize {

    if (defined $Window) {
      ($width, $height) = ($Window->GetClientRect)[2..3];
      $Control->Move   (0, 0);
      $Control->Resize ($width, $height);
    }
  }


=head1 DESCRIPTION

=head2 AxWindow

=item C<new> (...)

  Create a new ActiveX window.

  options  :

  -parent  => parent window  (Required)
  -name    => window name    (Required)
  -size    => window size [ width, heigth ]
  -pos     => window pos  [ left, top ]
  -width   => window width
  -height  => window height
  -left    => window left
  -top     => window top
  -control => clisd (see below) (Required).

  clsid is a string identifier to create the control.
  Must be formatted in one of the following ways:

    - A ProgID such as "MSCAL.Calendar.7"
    - A CLSID such as "{8E27C92B-1264-101C-8A2F-040224009C02}"
    - A URL such as "http://www.microsoft.com";
    - A reference to an Active document such as 'file://Documents/MyDoc.doc'
    - A fragment of HTML such as "MSHTML:<HTML><BODY>This is a line of 
text</BODY></HTML>"
      Note   "MSHTML:" must precede the HTML fragment so that it is designated 
as being an MSHTML stream.

  styles:

  -visible => 0/1
  -tabstop => 0/1
  -hscroll => 0/1
  -vscroll => 0/1

  -style, -addstyle, -pushstyle, -remstyle, -popstyle
  -exstyle, -exaddstyle, -expushstyle, -exremstyle, -expopstyle

  Default style is : WS_CHILD |  WS_VISIBLE | WS_TABSTOP | WS_CLIPCHILDREN

=item C<Release> ()

  If have crash when exiting, call this function before all the window are 
destroy (before Win32::GUI::Dialog(); exit).
  Generaly, call this function in the Window_Terminate handle.

=head2 Property

=item C<EnumPropertyID> ()

  Return a list of all the Property ID of the control.

=item C<EnumPropertyName> ()

  Return a list of all the Property name of the control.

=item C<GetPropertyInfo> (ID_or_Name)

  Return a hash with information about the Property from ID or Name.

  Hash entry :
    -Name        => Property Name.
    -ID          => Property ID.
    -VarType     => Property Type (Variant type).
    -EnumValue   => A formated string of enum value ( 
enum1=value1,enum2=value2,... ).
    -ReadOnly    => Indicate if a property can only be read.
    -Description => Property Description.
    -Prototype   => Prototype

=item C<GetProperty> (ID_or_Name, [index, ...])

  Get property value.
  For indexed property, add index list.

=item C<SetProperty> (ID_or_Name, [index, ...], value)

  Set property value
  For indexed property, add index list before value.

=head2 Method

=item C<EnumMethodID> ()

  Return a list of all the Method ID of the control.

=item C<EnumMethodName> ()

  Return a list of all the Method name of the control.

=item C<GetMethodInfo> (ID_Name)

  Return a hash with information about the Method from ID or Name.

  Hash entry :
    -Name        => Method Name.
    -ID          => Method ID.
    -Description => Method Description.
    -Prototype   => Method Prototype.

=item C<CallMethod> (ID_or_Name, ...)

  Invoke a method of an ActiveX control.

=head2 Event

=item C<EnumEventID> ()

  Return a list of all the Event ID of the control.

=item C<EnumEventName> ()

  Return a list of all the Event Name of the control.

=item C<GetEventInfo> (ID_or_Name)

  Return a hash with information about the Event from ID or Name.

  Hash entry :
    -Name        => Method Name.
    -ID          => Method ID.
    -Description => Method Description.
    -Prototype   => Method Prototype.

=item C<RegisterEvent> (ID_or_Name, Callback)

  Associate a Callback for an ActiveX Event.

=head2 Win32::OLE

=item C<GetOLE> ()

   Return a Win32::OLE object of Hosted ActiveX Control.

   You MUST add use Win32::OLE in your script.

=head1 AUTHOR

  Laurent Rocher ([EMAIL PROTECTED])
  HomePage :http://perso.club-internet.fr/rocherl/Win32GUI.html

=head1 SEE ALSO

  Win32::GUI

=cut

--- NEW FILE: Makefile.PL ---
use ExtUtils::MakeMaker;
# See lib/ExtUtils/MakeMaker.pm for details of how to influence
# the contents of the Makefile that is written.
WriteMakefile(
    'NAME'         => 'Win32::GUI::AxWindow',
    'VERSION_FROM' => 'AxWindow.pm', # finds $VERSION
    'XS'           => { 'AxWindow.xs' => 'AxWindow.cpp' },
    'LIBS'         => ['atl.lib'],   # e.g., '-lm'    
    'INC'          => '',     # e.g., '-I/usr/include/other' 
     ($] eq '5.00503')
     ? (
        'DEFINE'           => '-DPERL_5005',     # e.g., '-DHAVE_SOMETHING' 
     ) : (
        'DEFINE'           => '',     # e.g., '-DHAVE_SOMETHING' 
     ),     
     ($] ge '5.005')
     ? (
      'AUTHOR'   => 'ROCHER Laurent ([EMAIL PROTECTED])',
      'ABSTRACT' => 'Add ActiveX Control Hosting in Win32::GUI',
     )
     : (),
);

sub MY::xs_c {
'

.xs.c:
    $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) 
$(XSUBPPARGS) $*.xs > $*.c

.xs.cpp:
    $(PERL) -I$(PERL_ARCHLIB) -I$(PERL_LIB) $(XSUBPP) $(XSPROTOARG) 
$(XSUBPPARGS) $*.xs > $*.cpp

';
}

--- NEW FILE: MANIFEST ---
Makefile.PL
Changes
AxWindow.pm
AxWindow.xs
MANIFEST
TYPEMAP
Samples/WebBrowser.pl
Samples/InfoControl.pl
Samples/DHtmlEdit.pl
Samples/DHtmlEdit.pm
Samples/DHtmlEditor.pl
Samples/MsFlexGrid.pl
Samples/TestOLE.pl

--- NEW FILE: AxWindow.xs ---
/**********************************************************************/
/*                     C o n t a i n e r . x s                        */
/**********************************************************************/

#include <atlbase.h>

CComModule _Module;

#include <atlcom.h>
#include <atlhost.h>
#include <atlctl.h>

#include <winbase.h>

/*====================================================================*/
/*                          Perl Compatibility                        */
/*====================================================================*/

#ifdef PERL_5005
[...2660 lines suppressed...]
void
Release (container)
   CContainer*  container
CODE:
  //  printf("Release\n");
   container->Clean();
  //  printf("Release\n");

  ##################################################################
  #
  # DESTROY
  #

void
DESTROY(container)
   CContainer*  container
CODE:
  // printf("DESTROY\n");
   delete container;
  // printf("DESTROY\n");

--- NEW FILE: README ---
Win32::GUI::AxWindow 0.07
=========================

Win32::GUI::AxWindow - Perl extension for Hosting ActiveX Control in Win32::GUI

INSTALLATION

To install this module type the following:

   perl Makefile.PL
   make
   make install

DEPENDENCIES

This module requires these other modules and libraries:

  Win32::GUI
  Active Template Library (ATL)

WEB PAGE AND PPM REPOSITORY

See: http://perso.club-internet.fr/rocherl/Win32GUI.html

COPYRIGHT AND LICENCE

Copyright 2003 by Laurent Rocher ([EMAIL PROTECTED]).

This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

See <http://www.perl.com/perl/misc/Artistic.html>.


--- NEW FILE: Changes ---

Revision history for Perl extension AxWindow.

0.07  03/02/2004
        - Correct GetOLE() method when using PAR and PerlApp.

0.06  28/09/2003
        - Rewrite creation method (Remove AttachControl method).
        - No more need to call Release Method before exit.
        - Correct bug in GetPropertyInfo with VARTYPE property.
        - Correct -heigth option.
        - Update and add samples.

0.05  15/10/2002
        - Add GetOLE method (return a Win32::OLE object of Hosted ActiveX 
Control).
        - Add TestOle.pl Sample.

0.04  14/09/2002
        - Add indexed property support.
        - Change code organisation (Invoke method, CProperty child of CMethod).
        - Add MSFlexGrid Sample.

0.03  30/05/2002
        - Add VARTYPE property support.
        - Add output parameter for event support.
        - Accept control without event.
        - Correct DHTMLEdit.pm wrapper class.

0.02  25/03/2002
        - Correct ReadOnly value for Properties.
        - Add =value for Enum string list for Properties.
        - Test ReadOnly attribut in SetProperty.
        - SetProperty handle Enum property by value or string constant.
        - Add a Release method for clean ActiveX reference before window 
destroy.
        - Manage VT_USERDEFINED as enum in CallMethod.
        - Add some documentation (sorry for my english ;-).
        - Add DHTML Edit sample (basic and a wrapper class).

0.01  22/03/2002
        - original version; created by h2xs 1.19
        - ActiveX control information (Properties, Metods, Events).
        - Set/Get property.
        - Call a Method.
        - Event Support.
        - Support of basic variant type.

--- NEW FILE: TYPEMAP ---
TYPEMAP
CContainer*  T_CONTAINER
HWND         T_HANDLE
HMENU        T_HANDLE
HICON        T_HANDLE
HCURSOR      T_HANDLE
HBITMAP      T_HANDLE
HFONT        T_HANDLE
HGDIOBJ      T_HANDLE
HIMAGELIST   T_HANDLE
HDC          T_HANDLE
HBRUSH       T_HANDLE
HPEN         T_HANDLE
HTREEITEM    T_IV
LONG         T_IV
LPCTSTR      T_PV
LPTSTR       T_PV
DWORD        T_IV
UINT         T_IV
BOOL         T_IV
WPARAM       T_IV
LPARAM       T_IV
LRESULT      T_IV
HINSTANCE    T_IV
COLORREF     T_COLOR
LPCSTR       T_PV
HENHMETAFILE T_IV
FLOAT        T_FLOAT
LPVOID       T_PV
HACCEL       T_IV

################################################################################
INPUT
T_HANDLE
    if(SvROK($arg)) {
        if(hv_fetch((HV*)SvRV($arg), \"-handle\", 7, 0) != NULL)
            $var = ($type) SvIV(*(hv_fetch((HV*)SvRV($arg), \"-handle\", 7, 
0)));
        else
            $var = NULL;
    } else
        $var = ($type) SvIV($arg);
T_COLOR
    $var = SvCOLORREF($arg);
T_CONTAINER
    $var = ($type) SvIV(*(hv_fetch((HV*)SvRV($arg), \"-CContainer\", 11, 0)));

################################################################################
OUTPUT
T_HANDLE
    sv_setiv($arg, (IV) $var);
T_COLOR
    sv_setiv($arg, (IV) $var);


--- NEW FILE: AxWindow.html ---
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
<html xmlns="http://www.w3.org/1999/xhtml";>
<head>
<title>Win32::GUI::AxWindow - Perl extension for Hosting ActiveX Control in 
Win32::GUI</title>
<link rev="made" href="mailto:"; />
</head>

<body style="background-color: white">

<p><a name="__index__"></a></p>
<!-- INDEX BEGIN -->

<ul>

        <li><a href="#name">NAME</a></li>
        <li><a href="#synopsis">SYNOPSIS</a></li>
        <li><a href="#description">DESCRIPTION</a></li>
        <ul>

                <li><a href="#axwindow">AxWindow</a></li>
                <li><a href="#property">Property</a></li>
                <li><a href="#method">Method</a></li>
                <li><a href="#event">Event</a></li>
                <li><a href="#win32::ole">Win32::OLE</a></li>
        </ul>

        <li><a href="#author">AUTHOR</a></li>
        <li><a href="#see_also">SEE ALSO</a></li>
</ul>
<!-- INDEX END -->

<hr />
<p>
</p>
<h1><a name="name">NAME</a></h1>
<p>Win32::GUI::AxWindow - Perl extension for Hosting ActiveX Control in 
Win32::GUI</p>
<p>
</p>
<hr />
<h1><a name="synopsis">SYNOPSIS</a></h1>
<pre>
  use Win32::GUI;
  use Win32::GUI::AxWindow;</pre>
<pre>
  # Main Window
  $Window = new Win32::GUI::Window (
               -name     =&gt; &quot;Window&quot;,
               -title    =&gt; &quot;Win32::GUI::AxWindow test&quot;,
               -post     =&gt; [100, 100],
               -size     =&gt; [400, 400],
  );</pre>
<pre>
  # Add a WebBrowser AxtiveX
  $Control = new Win32::GUI::AxWindow  (
                -parent  =&gt; $Window,
                -name    =&gt; &quot;Control&quot;,
                -control =&gt; &quot;Shell.Explorer.2&quot;,
                # -control =&gt; 
&quot;{8856F961-340A-11D0-A96B-00C04FD705A2}&quot;,
                -pos     =&gt; [0, 0],
                -size    =&gt; [400, 400],
  );</pre>
<pre>
  # Register some event
  $Control-&gt;RegisterEvent(&quot;StatusTextChange&quot;,
                           sub {
                               $self    = shift;
                               $eventid = shift;
                               print &quot;Event : &quot;, @_, &quot;\n&quot;;
                            } );</pre>
<pre>
  # Call Method
  $Control-&gt;CallMethod(&quot;Navigate&quot;, '<a 
href="http://www.perl.com/";>http://www.perl.com/</a>');</pre>
<pre>
  # Event loop
  $Window-&gt;Show();
  Win32::GUI::Dialog();</pre>
<pre>
  # Main window event handler</pre>
<pre>
  sub Window_Terminate {</pre>
<pre>
    return -1;
  }</pre>
<pre>
  sub Window_Resize {</pre>
<pre>
    if (defined $Window) {
      ($width, $height) = ($Window-&gt;GetClientRect)[2..3];
      $Control-&gt;Move   (0, 0);
      $Control-&gt;Resize ($width, $height);
    }
  }</pre>
<p>
</p>
<hr />
<h1><a name="description">DESCRIPTION</a></h1>
<p>
</p>
<h2><a name="axwindow">AxWindow</a></h2>
<dl>
<dt><strong><a name="item_new"><code>new</code> (...)</a></strong><br />
</dt>
<dd>
<pre>
  Create a new ActiveX window.</pre>
</dd>
<dd>
<pre>
  options  :</pre>
</dd>
<dd>
<pre>
  -parent  =&gt; parent window  (Required)
  -name    =&gt; window name    (Required)
  -size    =&gt; window size [ width, heigth ]
  -pos     =&gt; window pos  [ left, top ]
  -width   =&gt; window width
  -height  =&gt; window height
  -left    =&gt; window left
  -top     =&gt; window top
  -control =&gt; clisd (see below) (Required).</pre>
</dd>
<dd>
<pre>
  clsid is a string identifier to create the control.
  Must be formatted in one of the following ways:</pre>
</dd>
<dd>
<pre>
    - A ProgID such as &quot;MSCAL.Calendar.7&quot;
    - A CLSID such as &quot;{8E27C92B-1264-101C-8A2F-040224009C02}&quot;
    - A URL such as &quot;<a 
href="http://www.microsoft.com&quot";>http://www.microsoft.com&quot</a>;
    - A reference to an Active document such as '<a 
href="file://Documents/MyDoc.doc">file://Documents/MyDoc.doc</a>'
    - A fragment of HTML such as &quot;MSHTML:&lt;HTML&gt;&lt;BODY&gt;This is a 
line of text&lt;/BODY&gt;&lt;/HTML&gt;&quot;
      Note   &quot;MSHTML:&quot; must precede the HTML fragment so that it is 
designated as being an MSHTML stream.</pre>
</dd>
<dd>
<pre>
  styles:</pre>
</dd>
<dd>
<pre>
  -visible =&gt; 0/1
  -tabstop =&gt; 0/1
  -hscroll =&gt; 0/1
  -vscroll =&gt; 0/1</pre>
</dd>
<dd>
<pre>
  -style, -addstyle, -pushstyle, -remstyle, -popstyle
  -exstyle, -exaddstyle, -expushstyle, -exremstyle, -expopstyle</pre>
</dd>
<dd>
<pre>
  Default style is : WS_CHILD |  WS_VISIBLE | WS_TABSTOP | WS_CLIPCHILDREN</pre>
</dd>
<dt><strong><a name="item_release"><code>Release</code> ()</a></strong><br />
</dt>
<dd>
<pre>
  If have crash when exiting, call this function before all the window are 
destroy (before Win32::GUI::Dialog(); exit).
  Generaly, call this function in the Window_Terminate handle.</pre>
</dd>
</dl>
<p>
</p>
<h2><a name="property">Property</a></h2>
<dl>
<dt><strong><a name="item_enumpropertyid"><code>EnumPropertyID</code> 
()</a></strong><br />
</dt>
<dd>
<pre>
  Return a list of all the Property ID of the control.</pre>
</dd>
<dt><strong><a name="item_enumpropertyname"><code>EnumPropertyName</code> 
()</a></strong><br />
</dt>
<dd>
<pre>
  Return a list of all the Property name of the control.</pre>
</dd>
<dt><strong><a name="item_getpropertyinfo"><code>GetPropertyInfo</code> 
(ID_or_Name)</a></strong><br />
</dt>
<dd>
<pre>
  Return a hash with information about the Property from ID or Name.</pre>
</dd>
<dd>
<pre>
  Hash entry :
    -Name        =&gt; Property Name.
    -ID          =&gt; Property ID.
    -VarType     =&gt; Property Type (Variant type).
    -EnumValue   =&gt; A formated string of enum value ( 
enum1=value1,enum2=value2,... ).
    -ReadOnly    =&gt; Indicate if a property can only be read.
    -Description =&gt; Property Description.
    -Prototype   =&gt; Prototype</pre>
</dd>
<dt><strong><a name="item_getproperty"><code>GetProperty</code> (ID_or_Name, 
[index, ...])</a></strong><br />
</dt>
<dd>
<pre>
  Get property value.
  For indexed property, add index list.</pre>
</dd>
<dt><strong><a name="item_setproperty"><code>SetProperty</code> (ID_or_Name, 
[index, ...], value)</a></strong><br />
</dt>
<dd>
<pre>
  Set property value
  For indexed property, add index list before value.</pre>
</dd>
</dl>
<p>
</p>
<h2><a name="method">Method</a></h2>
<dl>
<dt><strong><a name="item_enummethodid"><code>EnumMethodID</code> 
()</a></strong><br />
</dt>
<dd>
<pre>
  Return a list of all the Method ID of the control.</pre>
</dd>
<dt><strong><a name="item_enummethodname"><code>EnumMethodName</code> 
()</a></strong><br />
</dt>
<dd>
<pre>
  Return a list of all the Method name of the control.</pre>
</dd>
<dt><strong><a name="item_getmethodinfo"><code>GetMethodInfo</code> 
(ID_Name)</a></strong><br />
</dt>
<dd>
<pre>
  Return a hash with information about the Method from ID or Name.</pre>
</dd>
<dd>
<pre>
  Hash entry :
    -Name        =&gt; Method Name.
    -ID          =&gt; Method ID.
    -Description =&gt; Method Description.
    -Prototype   =&gt; Method Prototype.</pre>
</dd>
<dt><strong><a name="item_callmethod"><code>CallMethod</code> (ID_or_Name, 
...)</a></strong><br />
</dt>
<dd>
<pre>
  Invoke a method of an ActiveX control.</pre>
</dd>
</dl>
<p>
</p>
<h2><a name="event">Event</a></h2>
<dl>
<dt><strong><a name="item_enumeventid"><code>EnumEventID</code> 
()</a></strong><br />
</dt>
<dd>
<pre>
  Return a list of all the Event ID of the control.</pre>
</dd>
<dt><strong><a name="item_enumeventname"><code>EnumEventName</code> 
()</a></strong><br />
</dt>
<dd>
<pre>
  Return a list of all the Event Name of the control.</pre>
</dd>
<dt><strong><a name="item_geteventinfo"><code>GetEventInfo</code> 
(ID_or_Name)</a></strong><br />
</dt>
<dd>
<pre>
  Return a hash with information about the Event from ID or Name.</pre>
</dd>
<dd>
<pre>
  Hash entry :
    -Name        =&gt; Method Name.
    -ID          =&gt; Method ID.
    -Description =&gt; Method Description.
    -Prototype   =&gt; Method Prototype.</pre>
</dd>
<dt><strong><a name="item_registerevent"><code>RegisterEvent</code> 
(ID_or_Name, Callback)</a></strong><br />
</dt>
<dd>
<pre>
  Associate a Callback for an ActiveX Event.</pre>
</dd>
</dl>
<p>
</p>
<h2><a name="win32::ole">Win32::OLE</a></h2>
<dl>
<dt><strong><a name="item_getole"><code>GetOLE</code> ()</a></strong><br />
</dt>
<dd>
<pre>
   Return a Win32::OLE object of Hosted ActiveX Control.</pre>
</dd>
<dd>
<pre>
   You MUST add use Win32::OLE in your script.</pre>
</dd>
</dl>
<p>
</p>
<hr />
<h1><a name="author">AUTHOR</a></h1>
<pre>
  Laurent Rocher ([EMAIL PROTECTED])
  HomePage :<a 
href="http://perso.club-internet.fr/rocherl/Win32GUI.html";>http://perso.club-internet.fr/rocherl/Win32GUI.html</a></pre>
<p>
</p>
<hr />
<h1><a name="see_also">SEE ALSO</a></h1>
<pre>
  Win32::GUI</pre>

</body>

</html>


Reply via email to