Регистрация входных данных в TEdit (Delphi / Free pascal)

#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 неверно.