Here an example from:
AxWindow
You can host the Win32::GUI window in a Toplevel Tk Win using the 'use' arg with the hexa id of the win32 window.
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);
}
}
Hope this help.
|