Фон элемента управления становится темным при сворачивании и максимизации окна

Фон управления меняется после сворачивания и разворачивания окна. Я хочу, чтобы фон был таким же и прозрачным.

Прежде чем свернуть окно

После максимизации окна

Это элемент управления ActiveX. который может быть использован в нескольких проектах. CEdit - это базовый класс для этого элемента управления, в который я добавил некоторые дополнительные функции. Я попытался установить Bkmode в OnCtlColor и OnCtlColor, но это не работает.

1 ответ

Я решил эту проблему, выбрав цвет фона и заполнив элемент управления.

BOOL CComboBoxCtrl::OnEraseBkgnd(CDC* pDC) 
{
COleControl::OnEraseBkgnd(pDC);
RECT rc,rc1;
GetClientRect(&rc);
// Get the color from the parent window
COLORREF crBkgnd = COleControl::AmbientBackColor();

//Fill the rect to overcome the black background issue
pDC->FillSolidRect(&rc,crBkgnd);

if(inputbox != NULL)
    inputbox->Invalidate(TRUE);
return S_OK;

}

Другие вопросы по тегам