CGridCtrl控件闪烁的问题
工程使用了CGridCtrl控件,如果把控件直接放在view类里面,则一切正常,没有闪烁情况发生,
现我自己建立了一个CWnd继承类,把CGridCtrl控件放在里面,并对CWnd类进行了OnEraseBkgnd消息响应
但CGridCtrl控件发生了闪烁现象,请问原因?
附代码:
class CxxxWnd : public CWnd
{
.....
CGridCtrl m_ctrlGrid;
};
void CxxxWnd::OnPaint()
{
CPaintDC dc(this);
if (m_bDoubleBuffer)
{
CMemDC MemDC(&dc);
OnDraw(&MemDC);
}
else
OnDraw(&dc);
}
void CxxxWnd::OnDraw(CDC *pDC)
{
}
BOOL CxxxWnd::OnEraseBkgnd(CDC* pDC)
{
return TRUE;
}
int CxxxWnd::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
.....
if(!m_ctrlGrid.Create(CRect(0,0,0,0),this,100))
return -1;
.....
return 0;
}
void CxxxWnd::OnSize(UINT nType, int cx, int cy)
{
CRect rect;
GetClientRect(&rect);
m_ctrlGrid.MoveWindow(&rect);
}