![]() |
|
|
![]()
|
|
| Torrero20 |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 17.4.2006 Репутация: нет Всего: нет |
В общем в проге на Visual С++ главное окно разбито на 4 фрейма 3 мя сплиттерами (CSplitterWnd ) между этими фреймами остаються небольшие полоски вот их то и надо перекрасить....
Я его и так и эдак..... Создал дочерний класс, FillRect - ю весь Сплиттер в OnPaint e . Он конечно Эрэктиться ВоД коД создания сплиттера в OnCreateClient MainWindow:
А вот код раскраски в дочернем классе: (MySplitter производный от CSplitterWnd)
ПомогЫыте! Плз.... Это сообщение отредактировал(а) Torrero20 - 22.5.2006, 12:41 |
||||
|
|||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Не надо переопределять OnPaint. Сначала хоть бы посмотрел на родную реализацию...
Переопредели OnDrawSplitter (это виртуальная функция). Но сначала разберись в ней. Навскидку, тебе нужно сначала вызвать родную версию, а потом зарисовать серединку нужным цветом. Но не всегда, а только в тех случаях, когда управление попадает на последнюю строку "родной" версии. Т.е. не в случае splitBorder. -------------------- ... |
|||
|
||||
| Torrero20 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 17.4.2006 Репутация: нет Всего: нет |
Почти всё круто... покрасил splitBar - спасибо
Если ставлю обрабатываться и splitBorder... все нормально если не начинаешь предвигать сплиттер. Вот тут то и начинаеться непонятная закраска почти всех фремов полностью. Такая же чушь и с OnPaint ом была всё красилось, но если передвинешь....приплыли :-) ! Может не правильно крашу воД коТ:
<< -- Вот так корректно не работает, в чём тута дело??? |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Если splitBorder, то просто сразу return (без вызова базового метода). Именно там 3D рамки рисуются.
Ну код-то посмотри как следует. Этот OnDrawSplitter из нескольких мест вызывается, иногда с довольно большими прямоугольниками. -------------------- ... |
|||
|
||||
| Torrero20 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 14 Регистрация: 17.4.2006 Репутация: нет Всего: нет |
Пасибуськи большушие ! Всё помогло
|
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |