![]() |
Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.
![]() ![]() |
![]() |
TarasBer |
![]()
Сообщение
#1
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Создаю я окно класса wc_TabControl, потом делаю так
И всё равно на форму ничего не выводится. Делал всё, как в интернете нашёл, что неправильно? -------------------- |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
|
TarasBer |
![]()
Сообщение
#3
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
> например, не инициализировал InitCommonControls
А, там ещё и инициализировать надо было. Я же код не дословно переписывал, там много лишнего было, типа субклассирования оконной процедуры табконтрола. Этот компонент представляет собой просто декоративную рамочку с кнопками (то есть надо самому показывать нужные компоненты при переключении), или можно компонентам как-то задать нужного родителя-вкладку, и всё само будет работать? -------------------- |
volvo |
![]()
Сообщение
#4
|
Гость ![]() |
Цитата надо самому показывать нужные компоненты при переключении Да. Само ничего работать не будет. Лови WN_NOTIFY, и по его прибытию скрывай старые контролы (которые были на предыдущем табе), и показывай новые. |
TarasBer |
![]()
Сообщение
#5
|
![]() Злостный любитель ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: ![]() ![]() ![]() |
Следующий вопрос.
Как узнать "клиентскую" область этого табконтрола? Если я для новой кнопки задаю его родителем с указанием верхнего левого угла (0, 0), то кнопка рисуется прямо поверх корешков. GetClientRect возвращает внешние границы. -------------------- |
volvo |
![]()
Сообщение
#6
|
Гость ![]() |
Цитата GetClientRect возвращает внешние границы. Да. Чтобы получить клиентскую область, надо либо вызвать функцию TabCtrl_AdjustRect (в оригинале это - макрос), либо послать сообщение TCM_ADJUSTRECT. С использованием функции действия вот такие:GetClientRect(tcSelect, R); // Получаем внешние границы Только учти, что этот макрос/сообщение работает только в случае, если закладки табов находятся сверху. В других случаях это не работает. |
![]() ![]() |
![]() |
Текстовая версия | 20.06.2025 23:58 |