CDC * pDC ???我如何复制它?

时间:2014-06-15 13:37:37

标签: image mfc cdc

MFC中的图像是在OnDraw函数中创建的。我们必须提供" pDC-> m_hDC"作为参数,如果我们想要绘制图像...

问题是我们只能在OnDraw函数中获取pDC。现在,如果我们想在OnDraw之外绘制图像,那么我们需要创建一个指向" CDC"输入" m_hDC"从它。

有些人说使用这段代码:

CDC * dc = getDC();

但它说getDC()未定义。我该怎么办?

重点是我想要一个初始化指向CDC的指针,以便在任何地方使用它。

2 个答案:

答案 0 :(得分:1)

在OnDraw功能之外,您可以使用

创建CDC
CClientDC dc;

您很少需要m_hDC,因为CDC几乎封装了所有绘图函数。像

dc.DrawIcon(x, y, m_hIcon);

答案 1 :(得分:0)

我经常做这样的事情:

void CMyView::ForceRedraw()
{
    CClientDC pDC(this);
    OnDraw(&pDC);
}