准备工作:用vc2005或者更高创建一个mfc对话框程序,弄了一个最简单的按钮类,继承自CButton,给他添加一个CToolTipCtrl问题现象:1.鼠标移动到按钮上,会显示之前设置的tooltips,反复移动移出,tooltips都有效
2.然后按一下按钮,tooltips消失,再也不会出现最开始以为是自己的Button重载的有问题,就拿来我的代码跟CButtonST反复验证,删到只剩下底裤了,还是存在问题……最后确定问题是2005自动生成的stdafx.h中的manifest导致,关键的就是这一句:
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")加上这一句话,编译出来的exe,默认在winxp环境的xp风格主题模式下,exe有一个xp的效果;
如果删了这一句话,那么编出来exe在任何win主题下,都是windows经典的界面跑题了,问题是,加上xp风格后,tooltips在按钮中,仅作用一次,按钮被按下后,tooltips就无效了!!灰常无奈啊提问:如何让xp风格下,tooltips按钮功能正常使用,不改我的button(改button的确能解决问题,但是这不是产生问题的根源)200分奉上
2.然后按一下按钮,tooltips消失,再也不会出现最开始以为是自己的Button重载的有问题,就拿来我的代码跟CButtonST反复验证,删到只剩下底裤了,还是存在问题……最后确定问题是2005自动生成的stdafx.h中的manifest导致,关键的就是这一句:
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")加上这一句话,编译出来的exe,默认在winxp环境的xp风格主题模式下,exe有一个xp的效果;
如果删了这一句话,那么编出来exe在任何win主题下,都是windows经典的界面跑题了,问题是,加上xp风格后,tooltips在按钮中,仅作用一次,按钮被按下后,tooltips就无效了!!灰常无奈啊提问:如何让xp风格下,tooltips按钮功能正常使用,不改我的button(改button的确能解决问题,但是这不是产生问题的根源)200分奉上
答复:是的那就用别的类型封装好的Button类,如CButtonST等,然后使用xp的manifest风格编译,看是否有问题,按理这些第三方类库的最新版本能够支持vs2005的
答复:朋友没有仔细看我的问题描述,我就是拿buttonST做的分析,只要加上了xp的mainfest,tooltips就有问题,buttonST的代码中stdafx.h中没有xp风格,所以tooltips是始终有效的,加上了mainfest一样存在问题请问楼主代码是不是Unicode类型,而manifest风格默认编码是UTF-8
答复:我的工程的确是Unicode的,开发环境是vc2005,如果mainfest默认的是utf-8,那这个问题有办法解决吗?
WIN32工程测试了下,未发现LZ所述现象。
LZ的工程测试了下,未发现LZ所述现象。
是否注释都一样.点击按钮和未点击一样.都能显示.
http://topic.csdn.net/t/20051107/13/4376443.html说自己机器上没问题的,附带上运行环境,win7就不用说了,win7下这个问题的确不存在,我说的WinXP