Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: WinAPI и системное программирование > Отловить и запретить Ctrl+Tab


Автор: Pakshin A. S. 29.12.2008, 13:37
Суть проблемы: программа должна переключаться между компонентами ввода текста типа Memo, RichEdit и т.п. по Ctrl+Tab. Но при нажатии этой комбинации клавиш, в компонент с текстом вставляется табуляция, что ни в коем случае не должно делаться. Вариант посылки какого-нибудь Backspace не годится, так как компонент имеет флажок изменяемости и еще много наворотов на изменчивость содержания.

Единственным выходом вижу следующиий алгоритм:
1) Отловить Ctrl+Tab.
2) Запретить табуляцию в активном компоненте.
3) Осуществить переключение.

Жду советов по пункту №2.

Кстати, компонент, на котором валяются области ввода - TabControl.

Автор: bems 29.12.2008, 20:07
Цитата(Pakshin A. S. @  29.12.2008,  13:37 Найти цитируемый пост)
Запретить табуляцию в активном компоненте
если нужно для одного класса, то пиши наследника

Автор: Pakshin A. S. 30.12.2008, 10:05
Пример в студию, пожалуйста... smile

Автор: Rrader 30.12.2008, 15:36
Pakshin A. S., нужно, чтобы Ctrl+Tab полностью эмулировал Tab (фокус может уходить на тот же PageControl), или сделать переключение только между компонентами ввода?

Автор: Pakshin A. S. 30.12.2008, 16:54
Переключалка между вкладками с условием, что Ctrl+Tab не отрабатывается в компоненте ввода текста.

Решилась перехватом CN_KEYDOWN в классе компонента ввода текста...

Автор: Christoph 3.1.2009, 13:52
А можно увидеть решение?

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)