![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Max Damage |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 21.3.2003 Репутация: нет Всего: нет |
Как реализовать TabControl на чистом API, без MFC?
|
|||
|
||||
man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Создаешь окно с именем класса SysTabControl32.
А как работать с ним - смотри макросы TabCtrl_xxxxxxxxx они и в хелпе есть. -------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
Max Damage |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 21.3.2003 Репутация: нет Всего: нет |
2man2002ua
А можно каким-то образом в апишный таб-контрол подпихнуть созданные конструктором диалоги? |
|||
|
||||
man2002ua |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 943 Регистрация: 12.11.2002 Где: Киев Репутация: нет Всего: 2 |
Попробуй CreateDialog, в качестве hWndParent указать Handle созданного TabControl
-------------------- "Нет ничего более постоянного, чем временное" |
|||
|
||||
Max Damage |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 21.3.2003 Репутация: нет Всего: нет |
Еще есть идеи у кого-то насчет подпихивания в табконтрол диалогов?
|
|||
|
||||
RAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Max Damage, открой хелп. Диалоги в TabControl - это обычная практика и "другие идеи" не нужны. Или твой случай какой-то особенный? Тогда опиши поподробней.
У меня сделано так: При создании TabControl создаются диалоги и окна, между которыми будет переключение, без WS_VISIBLE. В переменную HWND ActiveWindow; заноситься хэндл первого диалога (он же делается видимым). И просто обрабатывается переключение табов (ActiveWindow скрываем, через switch по номеры таба в ActiveWindow заносим новый хендл, делаем его видимым). |
|||
|
||||
Max Damage |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 21.3.2003 Репутация: нет Всего: нет |
2RAN
Ничего особенного, просто я полное ламо в этом вопросе а хелп в 7-ой студии - ацтой, экзампл кода приведи пжалста. |
|||
|
||||
RAN |
|
||||
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
в WM_CREATE:
В WM_NOTIFY TCN_SELCHANGE:
P.S. Это так, для примера. ВОЗМОЖНЫ ОШИБКИ, прошу прощения. Просто у меня, каждое окно - это класс, а здесь я всё лишнее вырезал, возможно не совсем корректно. |
||||
|
|||||
Max Damage |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 21.3.2003 Репутация: нет Всего: нет |
2RAN
Сэнкс, попробую. |
|||
|
||||
Max Damage |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 32 Регистрация: 21.3.2003 Репутация: нет Всего: нет |
2RAN
А TCN_SELCHANGE в WM_NOTIFY это lParam или wParam? |
|||
|
||||
RAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
WM_NOTIFY
idCtrl = (int) wParam; //В нашем случае совершенно бесполезная инфа. (В диалоге это ID элемента управления, пославшего WM_NOTIFY) pnmh = (LPNMHDR) lParam; //Вот в этой структуре всё и содержится typedef struct tagNMHDR { HWND hwndFrom; //Handle TabContrl'а UINT idFrom; //тоже, что и idCtrl UINT code; //здесь код сообщения } NMHDR;
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |