如何得到对话框HDC
问题:想在Dialog上显示一张图片,没有使用picture控件。代码如下:
HDC m_HDC = this->GetDC()->GetSafeHdc(); //this 是当前CDialog的指针
CImage imgOriginal;
...
imgOriginal.StretchBlt(m_HDC,0,0,imgOriginal.GetWidth(),imgOriginal.GetHeight(),SRCCOPY);
图片已经加载,但没有显示。错误应该是出在m_HDC上,因为如果换成桌面的HDC,图片可以显示,不知道该如何解决,对MFC不是很熟,请教高手!!
[解决办法]
CDC *pDC = GetDC();
CImage imgOriginal;
...
imgOriginal.StretchBlt(pDC->GetSafeHDC(),0,0,imgOriginal.GetWidth(),imgOriginal.GetHeight(),SRCCOPY);
ReleaseDC(pDC);
如果不显示,可能是由于什么操作导致刷新了,换成桌面HDC的时候,那个对话框位置的图片显示吗?
[解决办法]
这段代码放在那里的?最好在OnPaint中绘图。