首页 > 解决方案 > Perl - Win32::Gui - 确定具有焦点的文本字段的文本内容

问题描述

我已经定义了一个主窗口$mw,我在其中放置了几个文本字段,用户可以在其中提供信息。一旦用户按下 RETURN,我想确定当时具有焦点的字段并读出其文本内容以进一步处理它。

这是我如何定义文本字段的代码:

$mw->AddLabel (
    -name   => "lblSAP",
    -top    => 5,
    -left   => 10,
    -width  => 80,
    -text   => "identity no.",
);

$mw->AddTextfield (               # text field 1
    -name   => "txtSAP",
    -pos    => [ 5, 20 ],
    -size   => [ 80, 20 ],
    -tabstop    => 1,
);

$mw->AddLabel (
    -name   => "lblDokar",
    -top    => 5,
    -left   => 95,
    -width  => 40,
    -text   => "dokar",
);

$mw->AddTextfield (               # text field 2 (there are more)
    -name   => "txtDokar",
    -pos    => [ 90, 20 ],
    -size   => [ 40, 20 ],
    -tabstop    => 1,
    -text   => 'DRW',
);

我尝试过GetFocus()返回句柄的方法,但我不知道如何使用此句柄从文本字段中获取文本(我什至不知道该方法是返回主窗口的句柄还是获得焦点的控件:-(。

我试过这样:

my $handle = $mw->GetFocus();    # get handle of the focusse control
my $txt_text = $handle->Text();   # get text of the focussed control

那没有用。

我是否忽略了一种返回名称而不是句柄的方法,或者如何通过句柄访问控件?

标签: perlwin32gui

解决方案


推荐阅读