From: <cr...@pf...> - 2005-08-12 13:25:36
|
=FA=C4=D2=C1=D7=D3=D4=D7=D5=CA=D4=C5, 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 =3D 0; my $mw =3D Win32::GUI::Window->new(-name =3D> 'mw', -size =3D> [400, 400], -pos =3D> [200, 200], -title =3D> "FormsTest", -onTerminate =3D> sub{return -1;}, -onTimer =3D> \&T1_Timer, -onMinimize =3D> sub{my $self =3D shift; $self->Hide(); $self->Disable();}, ); my $icon_no =3D Win32::GUI::Icon->new('no!.ico'); my $icon_yes =3D Win32::GUI::Icon->new('yes!.ico'); my $ni =3D $mw->AddNotifyIcon(-icon =3D> $icon_yes, -id =3D> 100, -onClick =3D> sub{$mw->Enable(); $mw->Show(); $mw->Restore();} ); my $t1 =3D Win32::GUI::Timer->new($mw, 'T1', 2000); $mw->Disable(); Win32::GUI::Dialog; sub T1_Timer { if ($trigger % 2) { $ni->Change(-icon =3D> $icon_yes); $mw->Enable(); $mw->Show(); $mw->Restore() if $mw->IsIconic(); } else { $ni->Change(-icon =3D> $icon_no); $mw->CloseWindow() unless $mw->IsIconic(); $mw->Hide(); $mw->Disable(); } $trigger++; } __END__ Thanks! --=20 =F3 =D5=D7=C1=D6=C5=CE=C9=C5=CD, =F3=C5=D2=C7=C5=CA mailto:cr...@pf...arkov.u= a |