首页 > 其他 > 详细

复制窗口指定位置的图片

时间:2017-10-20 15:50:52      阅读:223      评论:0      收藏:0      [点我收藏+]

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

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);


复制窗口指定位置的图片

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

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!