读书人

CMemDC类使用有关问题//如何实现俩个类

发布时间: 2013-11-25 13:22:27 作者: rapoo

CMemDC类使用问题//怎么实现俩个类的绘制图形到对话框HDC里?


void Ctestdc_Dlg::OnPaint()
{
CPaintDC dc(this); // 用于绘制的设备上下文
CMemDC dcMem(dc,this);
CRect rct;
GetClientRect(rct);
CDC* pdc = NULL;
(dcMem.GetDC()).FillSolidRect(rct,RGB(255,255,255));
m_test.Draw(&dcMem.GetDC());
m_test2.Draw(&dcMem.GetDC());
CDialogEx::OnPaint();
}




//俩个类没有成员,就这个函数,只有m_test2的画的矩形上去了。
VOID CTest::Draw(CDC* p)
{
p->Ellipse(200,200,300,300);
}


VOID CTest2::Draw(CDC* p)
{
//m_pdc = p ;
p->Rectangle(100,100,300,300);
}



[解决办法]
1. 先 把 调用代码 写到 OnPaint 看看 是不是 被 覆盖了。
2。不要 CDialogEx::OnPaint();

读书人网 >VC/MFC

热点推荐