|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
21.11.2008, 22:27 | #1 |
Пользователь
Регистрация: 25.08.2008
Сообщений: 10
|
Переход фокуса на контролах по Tab
Когда столкнулся, здесь на форуме не нашел, тому кто не знает может пригодиться
OD> Есть окно на WinApi(не диалоговое), на нем 6 Еditов. Hyжно OD> сделать, чтобы по нажатию клавиши TAB фокyс ввода пеpеходил от OD> одного к дpyгомy полю ввода. Вообще идея такова: Едитам ставится стиль WS_TABSTOP Edit1 := CreateWindowEx( WS_EX_CLIENTEDGE, 'Edit', '', WS_CHILD or ES_AUTOHSCROLL or WS_VISIBLE or WS_TABSTOP, 50, 38, 128, 21, Wnd, Ed_2, hInstance, nil ); Родительскому окну ставится стиль WS_EX_CONTROLPARENT. Wnd := CreateWindowEx ( WS_EX_CONTROLPARENT, WndClass, WndCaption,WS_BORDER, 500, 392,ClientWidth, ClientHeight, 0, 0, hInstance, nil); И видоизменяется петля сообщений (message loop) на следующее: =========Beginning of the citation============== while (GetMessage (msg, 0, 0, 0)) do if (not IsDialogMessage(hwndParent, msg)) then begin TranslateMessage (msg); DispatchMessage (msg); end; =========The end of the citation================ После этого клавиша таб, будет обрабатываться сама. |
29.09.2009, 06:50 | #2 |
Пользователь
Регистрация: 22.11.2008
Сообщений: 65
|
Спасибо, пригодилось.
Код:
Код:
Последний раз редактировалось jungle; 29.09.2009 в 07:40. Причина: После изменения цикла сообщений при нажатии на кнопку стал изменяться ее стиль |
02.10.2009, 23:13 | #3 |
Форумчанин
Регистрация: 05.12.2007
Сообщений: 236
|
А вообще лучше использовать диалоги и не е...ть мозги себе.
|
06.10.2012, 23:12 | #4 |
Регистрация: 06.10.2012
Сообщений: 5
|
Вот так еще можно:
Код:
Последний раз редактировалось kovalev; 07.10.2012 в 17:03. |
27.10.2012, 18:46 | #5 |
Регистрация: 05.12.2010
Сообщений: 3
|
rumil, большое спасибо, всё работает!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Окно без фокуса | Олвин | Общие вопросы Delphi | 4 | 13.10.2008 23:36 |
Alt + Tab | Черничный | Общие вопросы Delphi | 2 | 16.06.2008 15:38 |
какое событие отвечает за получени/потерю фокуса у формы? | Paul Hindenburg | Общие вопросы Delphi | 4 | 10.06.2008 14:47 |
Ресурсы в .dpk - контролах | darkstarx | Компоненты Delphi | 0 | 19.02.2008 21:23 |
alt+tab в win XP | mishel | Общие вопросы Delphi | 5 | 17.07.2007 10:52 |