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

发布于 2024-12-19 13:05:39 字数 689 浏览 0 评论 0原文

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

 }

How to add a control in a window at run time using perl win32::GUI?
I have a button control in my window. I need to create a checkbox control in the same window, while I am clicking the button.
I have written the code as mentioned in below, which is not working also.
Please give the correct way to proceed to adding controls at run time using 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();

 }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

月亮邮递员 2024-12-26 13:05:39

您的问题不是添加控件的代码,而是按钮单击事件未正确连接的事实。请参阅文档

试试这个:

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();
}

Your problem isn't the code which adds the control, it's the fact that the button click event isn't wired up properly. See the documentation.

Try this instead:

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();
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文