#linux #delphi #freepascal
#linux #delphi #freepascal
Вопрос:
У меня есть поле TEdit, и мне нужно вызвать действие из списка действий при нажатии кнопки ВВОДА / ВОЗВРАТА, сосредоточившись на нем (как в большинстве поисковых систем). Использование Lazarus 0.9.28.2-12 и Ubuntu 11.04
Ответ №1:
Обработайте событие OnKeyDown и проверьте Key=VK_RETURN
.
Комментарии:
1. Да, и тогда вы также можете захотеть просмотреть и удалить сообщения с клавиатуры, чтобы звуковой сигнал исчез. Или вы можете использовать
OnKeyPress
сord(Key) = VK_RETURN
помощью.2. Спасибо, ребята, это сработало. Но перед использованием VK_RETURN вы также должны включить LCLType lib:
uses LCLtype;
Ответ №2:
Лучше использовать OnKeyUp вместо OnKeyDown. Причина этого в том, что если вы нажмете Enter, это может сгенерировать много событий (фактически, это будет генерироваться до тех пор, пока не будет нажата клавиша), что нежелательно. Использование OnKeyUp и проверка, является ли ключ VK_RETURN, будет намного лучше и вызовет только 1 событие, пока не произойдет следующий выпуск.
Комментарии:
1. стандарт заключается в том, что действия должны выполняться при нажатии клавиши вниз, а не клавиши вверх. Использование key up неверно.