复制窗口指定位置的图片-创新互联

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

专业成都网站建设公司,做排名好的好网站,排在同行前面,为您带来客户和效益!创新互联为您提供成都网站建设,五站合一网站设计制作,服务好的网站设计公司,网站建设、网站制作负责任的成都网站制作公司!
.h文件中声明变量
CMemoryDC  m_EmptyMemDC;//空白内存DC(另外封装的CDC的类)
CBitmap	   m_BmpBackground;
void CLabel::CopyBackground(CDC * pDC)
{
	CRect theRt;//获取控件大小(此处是自定义的控件,在控件内部执行)
	GetWindowRect(&theRt);

	CPoint pt(theRt.left, theRt.top);
	::ScreenToClient(GetParent()->m_hWnd,&pt);

	CClientDC  clientDC(this->GetParent());
   //创建兼容位图
	m_BmpBackground.CreateCompatibleBitmap(&clientDC, m_rect.Width(), m_rect.Height());
	HBITMAP hOldBitmap = (HBITMAP)m_EmptyMemDC.SelectObject(&m_BmpBackground);

	::StretchBlt(m_EmptyMemDC, 0, 0, theRt.Width(), theRt.Height(), clientDC.m_hDC, 
	  pt.x, pt.y, theRt.Width(), theRt.Height(), SRCCOPY);

	pDC->BitBlt(0, 0, m_rect.Width(), m_rect.Height(), &m_EmptyMemDC, 0, 0, SRCCOPY);

	m_EmptyMemDC.SelectObject(hOldBitmap);
	m_BmpBackground.DeleteObject();

}

另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


分享名称:复制窗口指定位置的图片-创新互联
文章出自:http://myzitong.com/article/iccce.html