MFC中的图像是在OnDraw函数中创建的。我们必须提供" pDC-> m_hDC"作为参数,如果我们想要绘制图像...
问题是我们只能在OnDraw函数中获取pDC。现在,如果我们想在OnDraw之外绘制图像,那么我们需要创建一个指向" CDC"输入" m_hDC"从它。
有些人说使用这段代码:
CDC * dc = getDC();
但它说getDC()未定义。我该怎么办?
重点是我想要一个初始化指向CDC的指针,以便在任何地方使用它。
答案 0 :(得分:1)
在OnDraw功能之外,您可以使用
创建CDCCClientDC dc;
您很少需要m_hDC,因为CDC几乎封装了所有绘图函数。像
dc.DrawIcon(x, y, m_hIcon);
答案 1 :(得分:0)
我经常做这样的事情:
void CMyView::ForceRedraw()
{
CClientDC pDC(this);
OnDraw(&pDC);
}