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;

参考技术A 你编辑框左对齐就不会在输入的时候重影了。
重影的原因是,当你做了透明之后,编辑框的变化并不能产生背景重绘,这样输入产生变化的时候(因为中央对齐,输入的时候会产生位置变化),原有的输入就不能被”刷新“掉,因此就造成了现有的和旧有的都同时出现了。
解决办法就是在输入或者变化的时候,触发一下对话框的局部重绘(重绘区域为编辑框所在区域)即可。但实际上,因为你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对话框添加位图背景后编辑框输入文字会重影的主要内容,如果未能解决你的问题,请参考以下文章

MFC如何设置对话框静态文字背景以及文字颜色

怎么给MFC的对话框加背景图片

MFC的一个对话框中怎样设置背景为一个图片

MFC——对话框

创建后如何修改 MFC 对话框成员?

mfc 如何使编辑框和变量关联