[Cascavel-pm] Ajuda Anonymous Subroutines
Donato Azevedo
donatoaz em gmail.com
Sexta Março 11 20:54:21 PST 2005
Olá pessoal!
Eu preciso de uma ajudinha:
Estou fazendo um script usando win32::GUI pra gerar Tray Icons pra
janelas existentes (ele pega uma janela, bota um icone na tray bar pra
ela e remove o antigo da barra de tarefas). O win32::GUI::NotifyIcon
funciona assim:
voce cria um icone:
my $icon = new ... Icon;
dai associa esse icone a uma posicao na tray bar:
my $tray = new ... NotifyIcon
dai quando voce clica nele ele tem um evento associado que responde
pela subrotina:
sub Nome_Do_$tray_Click {}
mas como eu tou gerando a subrotina run time eu faço assim:
sub btn3_Click {
my $num = $main->lsb1->SelectedItem() + 1;
my $window_name = $main->lsb1->GetString($main->lsb1->SelectedItem());
if ($tray->{$window_name}) {
$main->txf1->Text("it already exists");
return 1;
}
$icon->{$window_name} = new Win32::GUI::Icon($main->txf2->Text());
$tray->{$window_name} = $main->AddNotifyIcon(-name => $window_name,
-id => $num,
-icon => $icon->{$window_name}, -tip => $window_name);
eval qq(
sub main::${window_name}_Click {
$main->->txf1->Text("donato"); }
);
1;
}
mas quando eu clico no icone na tray bar ele da um erro:
Undefined Subroutine &main::nome_do_tray_Click called at line 23.
A linha 23 tem a chamada pro win32::GUI::Dialog();
Obrigado pela atençao...
--
*******************************************
Donato Azevedo
Engenharia de Controle e Automação
UFMG
*******************************************
Mais detalhes sobre a lista de discussão Cascavel-pm