最小化和最大化窗口后,控件背景会发生变化。 我希望背景相同且透明。
这是一个ActiveX控件。可以在多个项目中使用。 CEdit是这个控件的基类,我在其中添加了一些额外的功能。 我尝试在OnCtlColor和OnCtlColor中设置Bkmode,但它没有用完。
答案 0 :(得分:0)
我通过获取背景颜色并填充控件的rec来解决这个问题
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;
}