Здравствуйте, perl-win32-gui-users, My goal in script below is change tray icon of NotifyIcon object in runtime on timer event. Icon stays unchanged. Why it is? How can I change icon in other way?
use strict;
use Win32::GUI;
my $trigger = 0;
my $mw = Win32::GUI::Window->new(-name => 'mw',
-size => [400, 400],
-pos => [200, 200],
-title => "FormsTest",
-onTerminate => sub{return -1;},
-onTimer => \&T1_Timer,
-onMinimize => sub{my $self = shift;
$self->Hide();
$self->Disable();},
);
my $icon_no = Win32::GUI::Icon->new('no!.ico');
my $icon_yes = Win32::GUI::Icon->new('yes!.ico');
my $ni = $mw->AddNotifyIcon(-icon => $icon_yes,
-id => 100,
-onClick => sub{$mw->Enable(); $mw->Show();
$mw->Restore();}
);
my $t1 = Win32::GUI::Timer->new($mw, 'T1', 2000);
$mw->Disable();
Win32::GUI::Dialog;
sub T1_Timer {
if ($trigger % 2) {
$ni->Change(-icon => $icon_yes);
$mw->Enable();
$mw->Show();
$mw->Restore() if $mw->IsIconic();
}
else {
$ni->Change(-icon => $icon_no);
$mw->CloseWindow() unless $mw->IsIconic();
$mw->Hide();
$mw->Disable();
}
$trigger++;
}
__END__
Thanks!
--
С уважением,
Сергей mailto:[EMAIL PROTECTED]<<attachment: Yes!.ico>>
<<attachment: No!.ico>>

