扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:明 文 华 来源:yesky 2007年10月21日
关键字:
BOOL TransparentBlt( HDC hdcDest, // 目标DC句柄 int nXOriginDest, // 目标左上角X坐标 int nYOriginDest, // 目标左上角Y坐标 int nWidthDest, // 目标矩形宽度 int hHeightDest, // 目标矩形高度 HDC hdcSrc, // 源DC句柄 int nXOriginSrc, // 源左上角X坐标 int nYOriginSrc, // 源左上角Y坐标 int nWidthSrc, // 源矩形宽度 int nHeightSrc, // 源矩形高度 UINT crTransparent // 要置为透明的颜色 ); |
void CTransparentBltView::OnDraw(CDC* pDC) { CTransparentBltDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CBitmap bj; CBitmap shufa; bj.LoadBitmap(IDB_BJ); shufa.LoadBitmap(IDB_SHUFA); BITMAP BT; bj.GetBitmap(&BT);//获得bj位图信息 CDC memDC; memDC.CreateCompatibleDC(pDC); CBitmap* poldbitmap=memDC.SelectObject(&bj); //先显示背景图 pDC->BitBlt(0,0, BT.bmWidth,BT.bmHeight,&memDC,0,0,SRCCOPY); shufa.GetBitmap(&BT);//获得shufa位图信息 memDC.SelectObject(&shufa); //选入前景图 //透明位图显示,将前景图画到pDC中,指定RGB(255,255,255)为透明掩码。即此//处只显示背景图,从前景图看起来这块好像透明一样。 TransparentBlt(pDC->m_hDC,0,0, BT.bmWidth,BT.bmHeight, memDC.m_hDC, 0,0,BT.bmWidth,BT.bmHeight,RGB(255,255,255)); memDC.SelectObject(poldbitmap); } |
SHUFA.GetBitmap(&BT); m_tracker.m_rect.SetRect(0,0,BT.bmWidth,BT.bmHeight); |
void CTransparentBltView::OnLButtonDown(UINT nFlags, CPoint point) { // TODO: Add your message handler code here and/or call default if(m_tracker.Track(this,point))//拖动跟踪器时,刷新屏幕 Invalidate(false); CView::OnLButtonDown(nFlags, point); } |
void CTransparentBltView::OnDraw(CDC* pDC) { CTransparentBltDoc* pDoc = GetDocument(); ASSERT_VALID(pDoc); // TODO: add draw code for native data here CDC memDC; memDC.CreateCompatibleDC(pDC); CBitmap* poldbitmap=memDC.SelectObject(&bj); pDC->BitBlt(0,0,640,480,&memDC,0,0,SRCCOPY);//先显示背景图 memDC.SelectObject(&shufa); //选入前景图, TransparentBlt(pDC->m_hDC, m_tracker.m_rect.TopLeft().x,m_tracker.m_rect.TopLeft().y, BT.bmWidth,BT.bmHeight, memDC.m_hDC,0,0,BT.bmWidth,BT.bmHeight,RGB(255,255,255)); memDC.SelectObject(poldbitmap); } |
BOOL CTransparentBltView::OnSetCursor(CWnd* pWnd, UINT nHitTest, UINT message) { // TODO: Add your message handler code here and/or call default //鼠标移动到跟踪器范围内时,改变鼠标指针形状,指示可以拖动图片 if(m_tracker.SetCursor(pWnd,nHitTest)) / return true; return CView::OnSetCursor(pWnd, nHitTest, message); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者