![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 1 Всего: 43 |
Хочу в MDI приложении на фоне, который под окнами документов отобразить логотип (как в администраторе WinRoute).
Достаточно ли просто обработать сообщение WM_ERASEBKGND (и т.п.) у CMainFrame? |
|||
|
||||
| mr.DUDA |
|
||||||
|
3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Нет, WM_ERASEBKGND тут не поможет, т.к. реально фон под окнами - это промежуточное окно "MDIClient", между CMainFrame и CChildFrame.
Приведенный ниже способ работает полностью и без глюков. 1) создать в ClassWizard класс окна (AddClass / New... / (пишем имя например CNewWnd, выбираем базовый класс "generic CWnd") 2) добавить новое окно в компонентные данные класса CMainFrame:
3) добавить в конце CMainFrame::OnCreate:
4) наконец, добавить в CNewWnd обработчик сообщения WM_PAINT, где и рисовать логотип и пр.:
При желании, можно переопределить WM_ERASEBKGND для "фонового" окна (по умолчанию, оно заливается кистью COLOR_APPWORKSPACE). -------------------- ![]() |
||||||
|
|||||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |