perl win32 :: gui删除元素
我有一个对话框,我在其上填充激活事件的元素(标签)。
我想在停用窗口时删除这些元素(标签)。类似的东西:[它的主要代码的错误片段,但解释]
my $wchRW = Win32::GUI::DialogBox->new(
-name => "wchR",
-title => "whed",
-left => CW_USEDEFAULT,
-size => [300, 130],
-parent => $mw,
);
$wchRW->AddGroupbox(
-name => "wchR_gb",
-text => "being watched",
-width => $wchRW->ScaleWidth() - $padding,
-height => 100,
-left => $padding/2,
);
sub wchR_Activate {
my $wchtxt = "sample";
# lbleft, lbtop are calculated here
$wchRW->AddLabel(
-name => "wchR_lb0",
-text => $wchTxt,
-left => $lbLeft,
-top => $lbTop,
);
}
sub gitni_wchR_Deactivate {
print "Heren";
Win32::GUI::DestroyWindow($wchRW->wchR_lb0); #this is line n
}
#i have a button in main window $mw.
#onclick of this button this dialogbox is shown.
#sub b1_Click { $wchRW->DoModal(); return 0; }
但问题是,在“停用”中的“此处”被多次调用,此后抛出异常[无法在@INC ....行n中找到auto / wchR_.al]。冻结主窗口,唯一的选择是通过任务管理器结束进程。
请帮帮我。
为什么“这里”被多次打印?
如何永久删除元素?
谢谢
没有找到相关结果
已邀请:
1 个回复
抚驰
将被多次调用,因为每次对话失去焦点时都会发生这种情况。 通常你不应该在_Activeate()事件处理程序中执行
。所有的事情都应该提前创造。您可以执行
或
操作控制显示状态,然后使用
更改信息。