用基本的VC能实现吗???不用GDI+
解决方案 »
- 求大牛帮我分析一下。。第二次发帖了,这个问题很急,谢谢大家
- CString转换为字符数组的问题
- 问一个socket端口的问题
- 如何判断一个程序的运行时间
- CStringList的一个小问题
- 請問 console(main()) 程序怎麼在系統中隱藏,ctrl+alt+del 按也看不到,謝謝!!
- 关于msgbox的一些原理...
- 调用ExitWindowsEx前是不是要调用AdjustTokenPrivileges, 调用AdjustTokenPrivileges是什么意思 ?
- 我做的OCX,在IE里运行良好,但是关闭IE时,会出现IE的“崩溃”窗口
- 关于CXImage_full库中的jpeg的压缩率的问题!
- 创建弹出式菜单
- 请教专家
dcBack.CreateCompatibleDC(pDC);
CBitmap bmpMem; bmpMem.CreateCompatibleBitmap(pDC,m_rcViewRect.Width(),m_rcViewRect.Height());
CBitmap *pBmpOld = dcBack.SelectObject(&bmpMem);
dcMask.CreateCompatibleDC(pDC);
dcMask.FillSolidRect(m_MaskRect,RGB(0,0,255)); BLENDFUNCTION bf;
bf.BlendOp = AC_SRC_OVER;
bf.BlendFlags = 0;
bf.SourceConstantAlpha = 100;
bf.AlphaFormat = 0; ::AlphaBlend(pDC->m_hDC,m_MaskRect.left,m_MaskRect.top,m_MaskRect.Width(),m_MaskRect.Height(),dcMask.m_hDC,m_MaskRect.left,m_MaskRect.top,m_MaskRect.Width(),m_MaskRect.Height(),bf); dcBack.SelectObject(pBmpOld);
bmpMem.DeleteObject();
dcBack.DeleteDC();
dcMask.DeleteDC();
1.我对::AlphaBlend的用法还不太了解,应该是这样吗? ::AlphaBlend(dcBack.m_hDC,m_MaskRect.left...)试过,但是也没有效果.
2.我希望画一块透明的蓝色矩形区域,使用fillsolidrect不是在内存中画吗?难道也要做成bmp?
3.说得是这个坐标吗?m_MaskRect.这个rect就是我在窗口画矩形区域的rect,为了作透明效果,就直接拿来用了,有点乱,但是坐标应该对的吧.