首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么得到对话框HDC

2012-03-12 
如何得到对话框HDC问题:想在Dialog上显示一张图片,没有使用picture控件。代码如下:HDC m_HDC this-GetDC

如何得到对话框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中绘图。

热点排行