Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Aist++ Гость
|
Добавлено: Ср Июл 23 2003 16:57 Заголовок сообщения: Повторяю: TAB не работает!!! |
|
|
Доброе время суток! Повторяю свой вопрос: Пишу на с++ в WinAPI (для особо одарённых объясняю, VCL и MFC не использую). Моя программа создаёт окно, на нём куча кнопок. Так вот, эти подлые кнопки не передают управление друг другу при нажитии клавиши TAB! Как это реализовать? Объяснит мне это кто-нибудь? Или тут одни Delphi'ны чайникообразные тусуются? Или, на худой конец, дайте ссылки на другие хорошие прогерные форумы... |
|
Вернуться к началу |
|
|
grayrat
Зарегистрирован: 30.06.2003 Сообщения: 189
|
Добавлено: Пт Июл 25 2003 11:28 Заголовок сообщения: Re: Повторяю: TAB не работает!!! |
|
|
А может у кнопок есть что-то типа RawEvent ? Тогда устраиваешь обработчик на этот поток всех событий и фильтруешь нажатие таба, а потом передаёшь фокус тому кому считаещь нужным. |
|
Вернуться к началу |
|
|
Вячеслав Гость
|
Добавлено: Пт Июл 25 2003 14:13 Заголовок сообщения: Re: Повторяю: TAB не работает!!! |
|
|
реализация TabOrder остается за тобой посмотри SetFocus |
|
Вернуться к началу |
|
|
Aist++ Гость
|
Добавлено: Пт Июл 25 2003 15:14 Заголовок сообщения: Re: Повторяю: TAB не работает!!! |
|
|
Ок, за мной так за мной, но как узнать, что нажата TAB, ведь когда фокус ввода на кнопке, то, соответственно, она и получает WM_CHAR, а родительскому (т.е. моему) ничего не сообщает. Можешь объяснить по подробнее или, что ещё лучше, выслать пример? |
|
Вернуться к началу |
|
|
Aist++ Гость
|
Добавлено: Пт Июл 25 2003 15:16 Заголовок сообщения: Re: Повторяю: TAB не работает!!! |
|
|
Не понял, что за RawEvent такой? Можешь по подробнее или, что ещё лучше, выслать пример? |
|
Вернуться к началу |
|
|
grayrat
Зарегистрирован: 30.06.2003 Сообщения: 189
|
Добавлено: Сб Июл 26 2003 15:23 Заголовок сообщения: Re: Повторяю: TAB не работает!!! |
|
|
RawEvent - сыроые события, т.е. поток всех событий, от мыши, клавиатуры... А пример, боюсь, могу предложить для QNX PhotonAPI. Там к виджету можно прицепить обработчик с примерно таким прототипом: Callback( PtWidget_t *widget, PhEvent_t *event ) Цепляешь ко всем нужным кнопкам: PtAddCallback( btn1, WM_CHAR , Callback ) когда сработает - widget - указатель на кнопку в к-рой произошло событие, а event - собственно, событие. Его и фильтруешь. А у вижета есть пользовательское поле, в которое можно записать указатель void* на доп. структуру в к-рую можно записать и указатель на следующую кнопку, которой потом будешь передавать фокус. Думаю, подобный механизм должен быть и в Win-API. |
|
Вернуться к началу |
|
|
Aist++ Гость
|
Добавлено: Пн Июл 28 2003 11:36 Заголовок сообщения: Re: Повторяю: TAB не работает!!! |
|
|
У бля... Мудрёно. Всё-таки для такой х...ни должно быть решение попроще... Я так думаю! |
|
Вернуться к началу |
|
|
|