Может кому-нибудь пригодится.
Код | use strict; use warnings; use Win32::GUI(); use Win32::GUI::AxWindow;
my ( $win1, $win2, $win3, $win4, $win5, $win6, $control1, $control2, $control3, $control4, $control5, $control6 ); my $icon = new Win32::GUI::Icon('Burn.ico'); # Иконка для окна my $desktop = Win32::GUI::GetDesktopWindow(); # Дескриптор всего экрана my $desktop_width = Win32::GUI::Width($desktop); # Ширина экрана my $desktop_height = Win32::GUI::Height($desktop); # Высота экрана
#=== FUNCTION ================================================================ # NAME: create_browser # PURPOSE: создание окна браузера # DESCRIPTION: создаем главное окно, а в нем контрол ActiveX (IE) # PARAMETERS: (переменные для хэндлов главного окна и элемента ActiveX # имя окна, имя контрола, положение окна, url-адрес, # наименование улицы) # RETURNS : хэндл окна #=============================================================================== sub create_browser { my ( $window, $control, $name_win, $control_name, $x_position, $url, $street ) = @_; # Главное окно
$window = new Win32::GUI::Window( -name => "$name_win", -title => "$street", -pos => [ "$x_position", 0 ], -size => [ $desktop_width, $desktop_height ], -resizable => 0, -sysmenu => 1, -titlebar => 0, -minimizebox => 0, -maximizebox => 0, ); $window->SetIcon($icon); # Устанавливаем иконку $control = new Win32::GUI::AxWindow( -parent => $window, -name => "$control_name", -control => "Shell.Explorer.2", -pos => [ 0, 0 ], -size => [ $desktop_width, $desktop_height ], -vscroll => 0, -hscroll => 0, ); $control->CallMethod( "Navigate", "$url" ); return $window;
} # ---------- end of subroutine create_browser ----------
sub window1_Terminate { return -1; }
sub window2_Terminate { return 1; }
#=== FUNCTIONS =============================================================== # NAME: window(s)_Resize # PURPOSE: при изменении размеров главного окна, изменяем # размеры контрола расположенного в нем # DESCRIPTION: --- # PARAMETERS: --- # RETURNS: --- #=============================================================================== sub window1_Resize { if ( defined $win1 ) { my ( $width, $height ) = ( $win1->GetClientRect )[ 2 .. 3 ]; $win1->control1->Move( 0, 0 ); $win1->control1->Resize( $width, $height ); } }
$win1 = create_browser( $win1, $control1, 'window1', 'control1', 0, "http://-----------", 'строка' ); $win1->Show(); $win2 = create_browser( $win2, $control2, 'window2', 'control2', "$desktop_width", "http://--------", 'строка' ); $win2->Show();
Win32::GUI::Dialog();
|
M JackYF | Пользуйся кнопкой "Код". |
|