MFC控件的背景设置为对话框的背景图片一样可以实现吗?

时间:2021-07-21 10:31:11
请问一下大家,我的程序是要动态的改变对话框的背景图片,通过选择文件的方法,动态设置背景,但是设置背景后,对话框上的控件显得特别突兀,界面很难看,可不可以实现控件跟着对话框的背景改变呢?有谁知道如何实现吗?谢谢了~

6 个解决方案

#1


可以啊
movewindow 
不知道你要怎么改变!

#2


这个你必须使用其他的界面库了吧,单纯的对话框工程满足不了你这个要求的。

#3


可以。写个继承类就成。把指定的图片作为控件的背景。

#4


控件的透明背景问题,这个需要父窗口的配合
如果父窗口的背景是在响应WM_ERASEBKGND加载的,
最简单的实现是 需要透明的控件响应WM_ERASEBKGND消息,然后将消息的处理委托父窗口处理,具体就是控件响应WM_ERASEBKGND消息时,先根据控件在父窗口的位置设置好hdc的视口偏移,再SendMessage(父窗口,控件hdc)到父窗口,父窗口就响应这个WM_ERASEBKGND时将合适的背景图片区域画到控件的hdc

#5


该回复于2013-01-21 12:08:50被管理员删除

#6


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法

#1


可以啊
movewindow 
不知道你要怎么改变!

#2


这个你必须使用其他的界面库了吧,单纯的对话框工程满足不了你这个要求的。

#3


可以。写个继承类就成。把指定的图片作为控件的背景。

#4


控件的透明背景问题,这个需要父窗口的配合
如果父窗口的背景是在响应WM_ERASEBKGND加载的,
最简单的实现是 需要透明的控件响应WM_ERASEBKGND消息,然后将消息的处理委托父窗口处理,具体就是控件响应WM_ERASEBKGND消息时,先根据控件在父窗口的位置设置好hdc的视口偏移,再SendMessage(父窗口,控件hdc)到父窗口,父窗口就响应这个WM_ERASEBKGND时将合适的背景图片区域画到控件的hdc

#5


该回复于2013-01-21 12:08:50被管理员删除

#6


您好
我是本版版主
此帖已多日无人关注
请您及时结帖
如您认为问题没有解决可按无满意结帖处理
另外本版设置了 疑难问题汇总帖
并已在版面置顶
相关规定其帖子中有说明
您可以根据规定提交您帖子的链接
如您目前不想结帖只需回帖说明
我们会删除此结帖通知

见此回复三日内无回应
我们将强制结帖
相关规定详见界面 界面版关于版主结帖工作的具体办法