У меня возникли проблемы с установкой цвета фона CStatic с помощью WTL (я предполагаю, что я должен был бы один и тот же вопрос с MFC)Цвет фона CStatic выпуска
У меня есть окно с черным фон, который имеет элемент управления, который выводится из CStatic на нем. Я устанавливаю цвета через сообщение WM_CTLCOLORSTATIC. В основном я работаю, но часть элемента управления, у которого есть текст, выглядит белым.
Вот код в функции обратного вызова:
LRESULT CReportResults::OnCtrColorStatic(UINT uMsg, WPARAM wParam, LPARAM lParam, BOOL& bHandled)
{
if ((HWND)lParam == m_wndLoadingLabel.m_hWnd)
{
HDC hDC = (HDC)wParam;
SetBkColor(hDC, APP_COLOR_BACKGROUND);
SetTextColor(hDC, APP_COLOR_TEXT);
}
return 0;
}
И вот что он заканчивает тем, как на экране. Сам элемент управления больше, чем текст в нем, но я не уверен, как заставить остальную часть элемента управления рисовать черным фоном. По-видимому, настройка цвета фона на черный только влияет на область отображения текста. Любые идеи о том, что я могу делать неправильно?
Вы должны * никогда не возвращать ноль в обработчике CtrlColor. Если вы не возвращаете пользовательскую кисть, вы должны вызвать процедуру окна по умолчанию и вернуть возвращаемое значение. –
Хорошо сделано для его решения. –