Что нового

[Элементы GUI] Input-поля не возвращаются в GUIgetmsg() по нажатию Enter

Core2Duo76

Новичок
Сообщения
58
Репутация
1
Кодил, кодил. Делал поиск по БД SQLite, было поле ввода типа input с поисковым запросом. При вводе запроса и нажатии Enter GuiGetmsg возвращало ID поля ввода, отрабатывалась функция, все шло по делу. Отработав все ошибки, допиливал остальной код, а когда уже все готово я обнаружил что поиск не работает. Соседнее поле тоже отвалилось. Для теста добавил такой код в loop


Код:
$msg=GuigetMsg()
if $msg=$search_request_field then msgbox(0,'','Search requested')


добавление такого кода вызывает Msgbox вызывает сообщение при нажатии enter в поле ввода во всех программках, кроме той, которую я описывал выше. Как такое может быть? в одном коде не работает, в остальных - нет.

Для справки - стили полей ввода не выставлял (по умолчанию), в GUI использую messageLoop
 

alex33

Скриптер
Сообщения
1,457
Репутация
186
Установите
Код:
GUISetAccelerators
на кнопку enter и всё...

Примерно так:
Код:
;...
Local $aKey[1][2] = [["{enter}", $dummy1]]
GUISetAccelerators($aKey)

;...
	Switch GUIGetMsg()
		;...
		Case $dummy1
			MsgBox(0, "", "нажат enter")
			;...
 
Автор
C

Core2Duo76

Новичок
Сообщения
58
Репутация
1
А если без этого? Просто раньше работало а теперь нет. Хотелось бы узнать возможные причины сбоя.

Обновка: в примере использовая из справки у меня не срабатывают горячие клавиши. Печаль совсем....
 

InnI

AutoIT Гуру
Сообщения
4,912
Репутация
1,429
Core2Duo76 [?]
возможные причины сбоя
От Input сообщение приходит в двух случаях: нажатие Enter или потеря фокуса ввода. И в обоих случаях обязательно предварительно должны быть какие-то изменения.
Например, вы ввели 123 и нажали Enter - GuiGetMsg() отловила сообщение. Если вы теперь снова нажмёте Enter, то сообщение не отправится, т.к. изменений ещё не было. А если вы сделаете изменение (например, удалите цифру) и просто перейдёте к другому элементу, то GuiGetMsg() опять поймает сообщение, хотя Enter не нажимался.
 
Автор
C

Core2Duo76

Новичок
Сообщения
58
Репутация
1
Именно так я и понял, что чтото не так работает. Иртересно, как я так умудрился.... Обновил и скайт и автоит - ничего нового


Добавлено:
Сообщение автоматически объединено:

Стиль Multiline отменил - все заработало. То есть тема решена, но как?)
 
Верх