Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > C/C++: Общие вопросы > Tab Control на чистом API |
Автор: Max Damage 9.6.2003, 09:52 |
Как реализовать TabControl на чистом API, без MFC? |
Автор: man2002ua 9.6.2003, 10:30 |
Создаешь окно с именем класса SysTabControl32. А как работать с ним - смотри макросы TabCtrl_xxxxxxxxx они и в хелпе есть. |
Автор: Max Damage 10.6.2003, 09:19 |
2man2002ua А можно каким-то образом в апишный таб-контрол подпихнуть созданные конструктором диалоги? |
Автор: man2002ua 10.6.2003, 14:11 |
Попробуй CreateDialog, в качестве hWndParent указать Handle созданного TabControl |
Автор: Max Damage 7.7.2003, 16:35 |
Еще есть идеи у кого-то насчет подпихивания в табконтрол диалогов? |
Автор: RAN 8.7.2003, 08:01 |
Max Damage, открой хелп. Диалоги в TabControl - это обычная практика и "другие идеи" не нужны. Или твой случай какой-то особенный? Тогда опиши поподробней. У меня сделано так: При создании TabControl создаются диалоги и окна, между которыми будет переключение, без WS_VISIBLE. В переменную HWND ActiveWindow; заноситься хэндл первого диалога (он же делается видимым). И просто обрабатывается переключение табов (ActiveWindow скрываем, через switch по номеры таба в ActiveWindow заносим новый хендл, делаем его видимым). |
Автор: Max Damage 8.7.2003, 09:11 |
2RAN Ничего особенного, просто я полное ламо в этом вопросе а хелп в 7-ой студии - ацтой, экзампл кода приведи пжалста. |
Автор: RAN 8.7.2003, 20:47 | ||||
в WM_CREATE:
В WM_NOTIFY TCN_SELCHANGE:
P.S. Это так, для примера. ВОЗМОЖНЫ ОШИБКИ, прошу прощения. Просто у меня, каждое окно - это класс, а здесь я всё лишнее вырезал, возможно не совсем корректно. |
Автор: Max Damage 9.7.2003, 09:31 |
2RAN Сэнкс, попробую. |
Автор: Max Damage 10.7.2003, 16:14 |
2RAN А TCN_SELCHANGE в WM_NOTIFY это lParam или wParam? |
Автор: RAN 10.7.2003, 16:38 | ||
WM_NOTIFY idCtrl = (int) wParam; //В нашем случае совершенно бесполезная инфа. (В диалоге это ID элемента управления, пославшего WM_NOTIFY) pnmh = (LPNMHDR) lParam; //Вот в этой структуре всё и содержится typedef struct tagNMHDR { HWND hwndFrom; //Handle TabContrl'а UINT idFrom; //тоже, что и idCtrl UINT code; //здесь код сообщения } NMHDR;
|