NAME
Wx::ActiveX - ActiveX Control Interface for Wx
VERSION
Version 0.16
SYNOPSIS
 use Wx::ActiveX qw( EVT_ACTIVEX );
 use Wx qw( wxID_ANY wxDefaultPosition , wxDefaultSize );
 ........
 my $activex = Wx::ActiveX->new(
               $parent,
               "WMPlayer.OCX",
               wxID_ANY,
               wxDefaultPosition,
               wxDefaultSize );
               
 EVT_ACTIVEX( $this, $activex, "PlaylistCollectionChange", \&on_event_handler );
 
 $activex->PropSet("URL",'pathtomyfile.avi') ;
 
 ..........
 
 $activex->Invoke("launchURL", "http://my.url.com/file.movie") ;
 ... or ...
 $activex->launchURL("http://my.url.com/file.movie") ;
 
 ----------------------------------------------------------------
 
 package MyActiveXControl;
 use Wx::ActiveX;
 use base qw( Wx::ActiveX );
 
 our (@EXPORT_OK, %EXPORT_TAGS);
 $EXPORT_TAGS{everything} = \@EXPORT_OK;
 
 my @activexevents = qw(
     OnReadyStateChange
     FSCommand
     OnProgress
 );
 
 my $exporttag = 'elviscontrol';
 my $eventname = 'ELVIS'; 
 
 __PACKAGE__->activex_load_activex_event_types( __PACKAGE__,
                                               $eventname,
                                               $exporttag,
                                               \@activexevents );
 
 ...
 
 EVT_ACTIVEX_ELVIS_ONPROGRESS( $this, $activex,\&on_event_handler );
 
 
DESCRIPTION
Load ActiveX controls for wxWindows. The package installs a module in Wx::Demo for reference.
There are some wrapped controls included with the package:
Wx::ActiveX::IE                  Internet Explorer Control
Wx::ActiveX::Mozilla             Mozilla Browser Control
Wx::ActiveX::WMPlayer            Windows Media Player
Wx::ActiveX::ScriptControl       MS Script Control
Wx::ActiveX::Document            Control Wrapper via Browser
Wx::ActiveX::Acrobat             Acrobat ActiveX Control
Wx::ActiveX::Flash               Adobe Flash Control
Wx::ActiveX::Quicktime           Apple QuickTime ActiveX Control
See the POD for each indvidual control.
There is also a Template producer that will provide code for a module given an ActiveX ProgID.
wxactivex_template
or
perl -MWx::ActiveX::Template -e"run_wxactivex_template();"
METHODS
new ( PARENT , CONTROL_ID , ID , POS , SIZE )
Create the ActiveX control.
PARENT        need to be a Wx::Window object.
CONTROL_ID    The control ID (PROGID/string).
- PropVal ( PROP_NAME )
 - 
Get the value of a propriety of the control.
 - PropSet ( PROP_NAME , VALUE )
 - 
Set a propriety of the control.
PROP_NAME The propriety name. VALUE The value(s). - PropType ( PROP_NAME )
 - 
Return the type of the propriety.
 - GetEventCount
 - 
Returnt the number of events that the control have.
 - GetPropCount
 - 
Returnt the number of proprieties.
 - GetMethodCount
 - 
Returnt the number of control methods.
 - GetEventName( X )
 - 
Returnt the name of the event X, where X is a integer.
 - GetPropName( X )
 - 
Returnt the name of the propriety X, where X is a integer.
 - GetMethodName( X )
 - 
Returnt the name of the method X, where X is a integer.
 - GetMethodArgCount( MethodX )
 - 
Returnt the number of arguments of the MethodX.
 - GetMethodArgName( MethodX , ArgX )
 - 
Returnt the name of the ArgX of MethodX.
 - ListEvents()
 - 
Return an ARRAY with all the events names.
 - ListProps()
 - 
Return an ARRAY with all the proprieties names.
 - ListMethods()
 - 
Return an ARRAY with all the methods names.
 - ListMethods_and_Args()
 - 
Return an ARRAY with all the methods names and arguments. like:
foo(argx, argy) - ListMethods_and_Args_Hash()
 - 
Return a HASH with all the methods names (keys) and arguments (values). The arguments are inside a ARRAY ref:
my %methods = $activex->ListMethods_and_Args_Hash ; my @args = @{ $methods{foo} } ; - ActivexInfos()
 - 
Return a string with all the informations about the ActiveX Control:
<EVENTS> MouseUp MouseMove MouseDown </EVENTS> <PROPS> FileName </PROPS> <METHODS> Close() Load(file) </METHODS> 
Win32::OLE
From version 0.5 Wx::ActiveX is compatible with Win32::OLE objects:
use Wx::ActiveX ;
use Win32::OLE ;
my $activex = Wx::ActiveX->new( $this , "ShockwaveFlash.ShockwaveFlash" , 101 , wxDefaultPosition , wxDefaultSize ) ;
my $OLE = $activex->GetOLE() ;
$OLE->LoadMovie('0' , "file:///F:/swf/test.swf") ;
$OLE->Play() ;
EVENTS
All the events use EVT_ACTIVEX.
EVT_ACTIVEX($parent , $activex , "EventName" , sub{...} ) ;
** You can get the list of ActiveX event names using ListEvents():
Each ActiveX event has its own argument list (hash), and the method 'Veto' can be used to ignore the event. In this example any new window will be canceled, seting $evt->IsAllowed to False:
EVT_ACTIVEX($this,$activex, "EventX" , sub{
  my ( $obj , $evt ) = @_ ;
  $evt->Veto;
}) ;
SEE ALSO
Wx::ActiveX::IE, Wx::ActiveX::Mozilla, Wx::ActiveX::WMPlayer, Wx
AUTHORS & ACKNOWLEDGEMENTS
Wx::ActiveX has benefited from many contributors:
Graciliano Monteiro Passos - original author
Contributions from:
Simon Flack Mattia Barbon Eric Wilhelm Andy Levine Mark Dootson
Thanks to Justin Bradford and Lindsay Mathieson who wrote the C classes for wxActiveX and wxIEHtmlWin.
COPYRIGHT & LICENSE
Copyright (C) 2002-2011 Authors & Contributors, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
CURRENT MAINTAINER
Mark Dootson <mdootson@cpan.org>