文章类型: VC&C++
关键词: VC,移动,透明,图,阴影,picture,控件
内容摘要: “VC picture控件显示透明图片,并移动图片,透明可以了,但是有重影?”的解决方法

“VC picture控件显示透明图片,并移动图片,透明可以了,但是有重影”的解决方法

2018/3/7 16:33:05    来源:apple    阅读:

VC picture控件显示透明图片,并移动图片,透明可以了,但是有重影,为什么啊?

使用了这个函数http://www.newsmth.net/bbsanc.php?path=/groups/comp.faq/VisualC/VC_NEW_TXTFONTIMAGEDC/VC_NEW_DTFI_DRAWIMG/M.969736108.A

将图片刷到picture控件的DC上,可以透明了,但是,在移动的时候有重影

如下图:

a.png

b.png

onpaint函数下代码

 CDC *pDC = NULL;
 HDC hDC = NULL;
 HBITMAP m_hBitmap;
 m_hBitmap = LoadBitmap(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDB_BITMAP1)); 
 
 pDC = GetDC();
 hDC = pDC->m_hDC;
 pDC->Rectangle(10, 10, 100, 100);
 pDC->SetBkMode(TRANSPARENT);
 DrawTransparentBitmap(hDC, m_hBitmap, 0, 0, RGB(255,255,
                            255));

 pDC = GetDlgItem(IDC_PIC)->GetDC();
 hDC = pDC->m_hDC;
 DrawTransparentBitmap(hDC, m_hBitmap, 0, 0, RGB(255,255,255));

 ReleaseDC(pDC);
 pDC = NULL;

工程代码在这里,见下面附件:

------解决思路----------------------

绘制结束之后,调用一次 Invalidate

刷新一下界面。


修正后的工程源码:

movepic.rar

↑ 上一篇文章:《纸做的玫瑰花》读后感 关键词:纸做的玫瑰花,加西亚,马尔克斯,读后感 发布日期:2018/2/27 12:04:41
↓ 下一篇文章:“VC动态显示并移动透明图片"的实现方法并附源码下载 关键词:VC,动态,显示,移动,透明,图片,实现方法,源码,下载 发布日期:2018/3/9 12:00:40
相关文章:
“VC动态显示并移动透明图片"的实现方法并附源码下载 关键词:VC,动态,显示,移动,透明,图片,实现方法,源码,下载 发布日期:2018-03-09 12:00
VC中添加WM_DEVICECHANGE消息进行移动设备的自动热插拔检测 关键词:VC,添加,WM_DEVICECHANGE,消息,移动,设备,U盘,插入,拔出 发布日期:2016-12-08 15:22
VC中文本输入框控件CEdit在运行时得到输入焦点的方法 关键词:VC,CEdit,文本输入框控件,运行,得到输入焦点,方法 发布日期:2017-10-17 16:23
相关目录:.NETVC&C++软件开发
我要评论
正在加载评论信息......