c ++ win32: как установить обратно цвет окна? - PullRequest
1 голос
/ 21 июля 2010

Я могу установить цвет спины при регистрации класса, например:

wincl.hbrBackground = CreateSolidBrush(RGB(202, 238, 255));
RegisterClassEx(&wincl);

Но как мне сделать это с любым окном, которое я создал с помощью функции CreateWindow?как кнопка в моем главном окне, у меня включены визуальные стили, и я могу заметить, что задний серый цвет окон позади кнопки.

Не говорите мне, что мне нужно установить SetWindowLong для оконной процедуры на всех всехконтролирует и перехватывает WM_PAINT: (

Ответы [ 2 ]

2 голосов
/ 21 июля 2010

Все элементы управления Windows отправляют сообщение своим родителям, чтобы использовать кисть для заливки фона.Предполагая, что вы сохранили копию маркера кисти где-нибудь, вы можете сделать следующее в WindowProc или DialogProc, чтобы убедиться, что все рисует с правильной кистью фона.

0 голосов
/ 21 июля 2010

Если вы хотите настроить окно, вы можете создать свой собственный класс окна для рисования окна этого типа.Реализуйте обработчик для wm_paint и нарисуйте все, что вы хотите для окна.Есть много учебных пособий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...