2011-12-02 97 views
1

如何在运行时使用perl win32 :: GUI在窗口中添加控件? 我在窗口中有一个按钮控件。我需要在同一个窗口中创建一个复选框控件,而我单击该按钮。 我已经写了下面提到的代码,这也不起作用。 请给用perl的Win32 :: GUI使用perl win32在运行时添加控件:: gui

use strict; 
use Win32; 
use Win32::GUI; 

my $win=Win32::GUI::Window->new(
     -name => 'wino', 
     -text => 'window', 
     -left => 375, 
     -top => 400, 
     -width =>380, 
     -height =>260, 
); 
my $but=$win->AddButton(
     -text=>"Add Control", 
     -onclick=>\&add_control, 
); 

$win->Show(); 
Win32::GUI::Dialog(); 

sub add_control(){ 

    my $mchk=$win->AddCheckbox(
    -text=>"run_time_con", 
    -pos=>[180,145], 
    ); 

    $mchk->Show(); 

} 

回答

2

你的问题不是它增加了控制代码继续添加控件在运行时正确的方法,这是一个事实,即按钮单击事件不正确连线。请参阅documentation

试试这个:

 
use warnings; 
use strict; 
use Win32; 
use Win32::GUI(); 

my $win=Win32::GUI::Window->new(
     -name => 'wino', 
     -text => 'window', 
     -left => 375, 
     -top => 400, 
     -width =>380, 
     -height =>260, 
); 

my $but=$win->AddButton(
     -name => "Button1", 
     -text=>"Add Control" 
); 

$win->Show(); 
Win32::GUI::Dialog(); 

sub Button1_Click(){ 
    my $mchk=$win->AddCheckbox(
    -text=>"run_time_con", 
    -pos=>[180,145], 
    ); 

    $mchk->Show(); 
} 
+1

是的,刚才我已经注意到了。谢谢... :-) – Madhan