Здравствуйте, DELPHI_4, Вы писали:
DEL>Да.. Имеено на WTL... Дело в том что Mainfarme по умолчанию наследуется от CMDIFrameWindowImpl... а тот уже в свою очередь как-то рисуется это самое окно (серую область)... пытался по OnPaint отрисовывать что-то... мелькает и сразу зарисовается серым... пытался запретить и незапрещать WM_ERASEBKGND DEL>... ничего...
Потому что "серая область" — это дочернее окно main frame.
Это стандартное системное окно класса "MDICLIENT".
Т.е., иерархия окон такая:
Main Frame
— MDICLIENT
-- mdi child frames
Окно MDICLIENT специальным образом обрабатывает активацию, minimize, maximize и пр. действия дочерних mdi-фреймов.
В WTL main frame создает это окно в функции CreateMDIClient и его HWND хранится в переменной m_hWndClient.
Тебе надо взять это окно, присабкласситься к нему, и перекрывать wm-erasebkgnd у него.
PS
Это стандартное устройство MDI под windows.
Не понял, как ты раньше-то рисовал, не в WTL ???
Всем здрасти...
Прошу помочь в одной довольно простой на первый взгляд вещи... Не знаю как это выполнить... если есть примерчики или ссылки буду очень благодарен...
Не получается, для начала, хотя бы закрасить в любой цвет фон mdi окна на WTL... акцент — не получается сделать именно на WTL... Соответственно прошу помочь закрасить серую область, которая закрашивается этим цветом по умолчанию.
Здравствуйте, DELPHI_4, Вы писали:
DEL>Не получается, для начала, хотя бы закрасить в любой цвет фон mdi окна на WTL... акцент — не получается сделать именно на WTL... Соответственно прошу помочь закрасить серую область, которая закрашивается этим цветом по умолчанию.
Именно на WTL?
А на чем другом у тебя получается?
Вообще, это прямое дочернее окно main frame, класса MDICLIENT.
Можно его просабклассить, и нарисовать что угодно.
Кажется, в main frame даже переменная есть для mdiclient (или это в MFC..., не помню).
Здравствуйте, rus blood, Вы писали:
RB>Здравствуйте, DELPHI_4, Вы писали:
DEL>>Не получается, для начала, хотя бы закрасить в любой цвет фон mdi окна на WTL... акцент — не получается сделать именно на WTL... Соответственно прошу помочь закрасить серую область, которая закрашивается этим цветом по умолчанию.
RB>Именно на WTL?
Да.. Имеено на WTL... Дело в том что Mainfarme по умолчанию наследуется от CMDIFrameWindowImpl... а тот уже в свою очередь как-то рисуется это самое окно (серую область)... пытался по OnPaint отрисовывать что-то... мелькает и сразу зарисовается серым... пытался запретить и незапрещать WM_ERASEBKGND
... ничего...