问题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,鼠标划过的时候才显示,现在尝试了很多网上的方法还是没有进展,我是个新手,题主写的解决方案我并看不懂,不知能否写的详细一点