MFC对话框添加位图背景后编辑框输入文字会重影
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MFC对话框添加位图背景后编辑框输入文字会重影相关的知识,希望对你有一定的参考价值。
我的透明代码
HBRUSH CBlogDlg::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
switch(pWnd->GetDlgCtrlID())
default:
pDC->SetBkMode(TRANSPARENT);
return (HBRUSH)GetStockObject(NULL_BRUSH);
break;
return hbr;
重影的原因是,当你做了透明之后,编辑框的变化并不能产生背景重绘,这样输入产生变化的时候(因为中央对齐,输入的时候会产生位置变化),原有的输入就不能被”刷新“掉,因此就造成了现有的和旧有的都同时出现了。
解决办法就是在输入或者变化的时候,触发一下对话框的局部重绘(重绘区域为编辑框所在区域)即可。但实际上,因为你center对齐,任何一个变化都会需要局部重绘,而不是仅仅是内容被替换的时候。
尝试,在编辑框的OnChange消息里面做对话框背景的局部重绘吧,估计效果可能还会有些瑕疵,但总体应该可以实现。追问
谢谢,能告诉下联系方式吗?想请教下相关的问题,百度不方便
猎豹MFC--图片控件CStatic和动画控件CAnimateCtrl
建立MFC对话框:
修改Picture Control 控件控件属性的ID和Type为Bitmap
然后添加BitMap资源:
把已准备好的bmp图片资源复制
到res文件夹:
导入位图资源:
设置 type 为Bitmap Image为位图ID:添加后如下图:
添加一按钮。双击该按钮,在按钮处理程序中添加 位图处理程序:
用位图句柄接收:
给图片框添加变量:
改为一个点.是当前级的文件夹。两个点事上一级的:
点一下按钮,图片便放生
变换:
做的更灵活一点,用打开文件对话框
效果如下:
想看那个就选哪个:
添加两个竖线表示结束:
动画控件:
用动画控件播放avi视频:
只能播放没有声音的视频:只有视频 木有音频的
因其不能播放声音 所
以一般用来播放简单的动画。
把AVI复制到res文件夹下:
把 AVI添加到资源中。自定义资源:
把自动添加的删除:
然后添加资源:
然后导入AVI:
导入后如下图:
修改视频的ID:
给动画控件 关联变量:
添加并双击按钮2:
效果如下:‘
动画控件:
以上是关于MFC对话框添加位图背景后编辑框输入文字会重影的主要内容,如果未能解决你的问题,请参考以下文章