belovkirill
Новичок
- Сообщения
- 23
- Репутация
- 0
Здравствуйте. У меня возник вопрос по привязке функции к элементу пользовательского интерфейса Edit. Изначально я думал, что при нажатии в поле должна вызываться та функция, которая указана в "GUICtrlSetOnEvent()". И в том примере, который я указал, тогда при нажатии в поле - оно должно очиститься, появиться диалоговое окно и с данного элемента будет снята привязка функции. И еще дополнение. Если изменить Edit на Button - то функция срабатывает при нажатии, однако привязка "_StartEdit" к кнопке почему-то не снимается.
Заранее спасибо!
Код:
;включение констант
#include <GUIConstantsEx.au3>
;включение опции обработки событий
Opt("GUIOnEventMode", 1)
;создание окна и привязка функции выхода к кнопке закрытия
$hWin = GUICreate('окно')
GUISetOnEvent($GUI_EVENT_CLOSE, '_Exit', $hWin)
;функция выхода
Func _Exit()
Exit
EndFunc
;создание поля
$hEdit = GUICtrlCreateEdit('текст', 10, 10)
;$hEdit = GUICtrlCreateButton('текст', 10, 10)
;привязка функции к полю: вот как раз здесь я и ожидал, что при нажатии в поле - будет удаляться текст, который там изначально
GUICtrlSetOnEvent($hEdit, '_StartEdit')
;функция, привязанная к полю для ввода
Func _StartEdit()
GUICtrlSetData($hEdit, '')
MsgBox(0, 1, '')
GUICtrlSetOnEvent($hEdit, '')
EndFunc
;отображение окна
GUISetState(@SW_SHOW, $hWin)
;цикл ожидания
While True
Sleep(500)
WEnd
Заранее спасибо!