MFC窗口被覆盖后,窗口上按钮的图标消失了

问题1:MFC窗口上的MFCBUTTON按钮设置了ICON图标,在窗口被覆盖后,这些图标全部消失了,在鼠标滑过时会显示出来。问了度娘说是ONPAINT函数的问题,但这个函数我根本没有改动过啊。。而且,我还尝试在ONPAINT函数中设置按钮的ICON,仍然不行。求助!
问题2:我有2个tab控件,他们是嵌套关系,tab1包含tab2。如何做到在tab1的第1页单击一个按钮,修改tab2第2页的edit控件的值?各位大神如果有代码的话直接写代码吧,因为网上那些方法我都试过了,实在是自己搞不出来。求助!!

1. 你的按钮是自绘的吗?需要处理DrawItem虚函数。
2. 创建tab2的时候将tab1的CWnd*指针或者HWND窗口句柄作为tab2构造函数的参数传递过去即可。

在onpaint中用invalidaterect()函数刷新按钮看行不行。

呃,还是不行。。。会不会跟这个MFCBUTTON控件自身有关系?

对按钮进行Invalidate()刷新一下

用sendmessage()来修改tab2第2页的edit控件的值

没有自动重绘,问题很明显,百度一下应该有。

我知道怎么回事了。说起来挺对不起大家的哈哈

是因为这几个按钮下面垫了一张图片,是picture control。在窗口被覆盖之后,picture control控件会覆盖掉mfcbutton,目前我还没有找到方法可以把picture control这个控件设置成位于按钮下方,即使用CTRL+D更改次序也是不行的。

我的方法如图:
1、把背景色设为跟PICTURE CONTROL一样的颜色;
2、把picture control处理成只保留白色LOGO部分;
3、得到结果图
第一步:图片说明
第二步:图片说明
第三步:图片说明

非常感谢大家的帮助,如果有高手知道如何把按钮放在PICTURE CONTROL控件上并能正常重绘的办法,也请不吝赐教,先谢过啦!

我也遇到了这个问题。很头疼,是单文档程序加了一个背景图,然后又添加了两个button,鼠标划过的时候才显示,现在尝试了很多网上的方法还是没有进展,我是个新手,题主写的解决方案我并看不懂,不知能否写的详细一点