使用perl win32 :: gui在运行时添加控件

时间:2011-12-02 10:38:56

标签: perl

如何使用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();

 }

1 个答案:

答案 0 :(得分: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();
}