Я определил главное окно $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
Это не сработало.
Я пропустилметод, который возвращает имя вместо дескриптора или как можно получить доступ к элементам управления по их дескриптору?