Как перехватить клавишу табуляции Tab в TEditDelphi , Компоненты и Классы , TEditКак перехватить клавишу табуляции Tab в TEditЭто можно давольно легко сделать переопределив на форме процедуру CMDialogKey. Чтобы посмотреть как это работает, поместите на форму Edit и введите следующий код:
Перевод на русский язык: Вечная борьба за захват клавиши Tab в компоненте TEdit! Ваш подход корректен, поскольку вы переопределяете процедуру CMDialogKey на форме, что позволяет перехватывать и обрабатывать события ввода клавиш. В этом конкретном коде вы проверяете, является ли активным контролем экземпляром TEdit, а также если нажатая клавиша - это клавиша Tab (VK_TAB). Если оба условия истинны, то отображается сообщение с текстом "Нажата клавиша TAB?". Вот разбивка кода:
Альтернативным решением может быть использование события OnKeyPress контрола TEdit само по себе, которое вызывается при нажатии клавиши, когда редактируемый контрол имеет фокус. Вот пример:
Этот подход более специфичен для редактируемого контрола и не требует переопределения процедуры на уровне формы. Однако он работает только в том случае, если редактируемый контрол имеет фокус, а ваш оригинальный код будет перехватывать клавишу Tabregardless of which control has focus. Для перехвата клавиши табуляции Tab в компоненте TEdit в Delphi, необходимо переопределить на форме процедуру CMDialogKey, которая вызывается при нажатии каких-либо клавиш, включая Tab. Комментарии и вопросыМатериалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
|||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |