码迷,mamicode.com
首页 > 其他好文 > 详细

复制窗口指定位置的图片

时间:2017-10-20 16:09:11      阅读:178      评论:0      收藏:0      [点我收藏+]

标签:mfc   绘图   

有时候为了制作透明的控件,特别是外边缘不规则的控件,可将控件背后的窗口图片复制到控件中,重绘.这样控件看起来就象透明的.

CRect theRt;//获取控件大小(此处是自定义的控件,在控件内部执行)
GetWindowRect(&theRt);

HDC hDC = ::GetWindowDC(this->GetParent()->GetSafeHwnd());//获取父窗口DC
HDC m_hMemDC = ::CreateCompatibleDC(hDC); //创建兼容的DC  

HBITMAP hBitmap = ::CreateCompatibleBitmap(hDC, m_nWidth, m_nHeight);//创建兼容位图
HBITMAP hOldBitmap = (HBITMAP)::SelectObject(m_hMemDC, hBitmap);//将memBitmap选入内存DC   

::StretchBlt(m_hMemDC,0,0,theRt.Width(),theRt.Height(),
             hDC,theRt.left,202,theRt.Width(),5,SRCCOPY);


复制窗口指定位置的图片

标签:mfc   绘图   

原文地址:http://9233403.blog.51cto.com/9223403/1974578

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!