Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > TabStop на самописном контроле


Автор: Nastya 7.6.2007, 17:35
Предположим есть самописный контрол, который визуально предтсвляет собой ряд кнопочек (но реально на нем их нет smile )
Так вот. когда его кладешь на диалог, хотелось что бы переход по табуляции осуществлялся так, как будто 
это не один контрол а несколько.
Как это лучше организовать?
Надеюсь я понятно объяснила? 

Автор: Andrey44 7.6.2007, 17:47
Ловить Tab + перемещение по прямоугольникам + DrawFocusRect(HDC hDC, CONST RECT lpRect)

Автор: Nastya 8.6.2007, 09:20
Andrey44, Это понятно. Делов другом. Если просто отлавливать Tab от клавиатуры, то мы отказываемя от тех же действий системы. А вот от них отказываться не хчоется.
Т.е. смотри у меня на диалоге 155 smile контролов из которых в частности мой. мне как-то не хочется заниматся вопросами передачи табстопа между всеми контролами, мне хочется, что бы ко мне приходил SetFocus/KillFocos, только вот не один раз а 5 smile
Мда наверное я желаю недоступного.
 

Автор: zkv 8.6.2007, 23:40
Nastya, посмотри в сторону WM_GETDLGCODE, я так понимаю, если при этом сообщении вернуть DLGC_WANTTAB, то можно обрабатывать ввод VK_TAB самостоятельно. 
Сам не работал, по этому гарантий не даю smile

Автор: Partizan 9.6.2007, 08:01
О кстати....всегда было интересно как нарисовать/написать собственный контрол для пользования в VS где об этом почитать?

Автор: dizzy1984 13.7.2007, 11:59
http://www.codeproject.com/miscctrl/subclassdemo.asp

Автор: Nastya 13.7.2007, 20:01
dizzy1984, сорри, но не поняла к чемубыла ссылка?

Автор: dizzy1984 18.7.2007, 11:57
Ссылка была к предыдущему посту
Цитата(Partizan @  9.6.2007,  10:01 Найти цитируемый пост)
О кстати....всегда было интересно как нарисовать/написать собственный контрол для пользования в VS где об этом почитать?

Сабклассинг позволяет править существующие контролы и создавать новые.
Или ты о создании контролов полностью с нуля? Ну... тогда соседние статейки в том же разделе
Designing a Windows Control - Part 1
Creating a custom Windows control: step-by-step tutorial
Creating Custom Controls

Автор: Nastya 18.7.2007, 12:20
а-а-а-а. я просто упорно там искала про TabStop а почитать по сабклассингу куча есть в faq данного форума

Автор: zkv 18.7.2007, 13:41
Nastya, f WM_GETDLGCODE не помог?

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