200分求解一个manifest问题,好像发现了一个vc2005的mainfest的bug,或者求正解,牛人进

BloodFighter 2010-06-18 05:30:14
准备工作:用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分奉上
...全文
336 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
Eleven 2010-06-24
  • 打赏
  • 举报
回复
没遇到过。。。
stonewater 2010-06-24
  • 打赏
  • 举报
回复
没碰到过,帮顶
King030609 2010-06-24
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 bloodfighter 的回复:]
没有满意答案,今晚结题,散分
[/Quote]
那来接个分
BloodFighter 2010-06-24
  • 打赏
  • 举报
回复
没有满意答案,今晚结题,散分
BloodFighter 2010-06-22
  • 打赏
  • 举报
回复
问题的确存在,在winXP+VC2005上,我试了4台这样的开发环境,这个问题的确存在!!

很严重的问题,按钮的tips不能只能看不能碰吧?一碰就没了的tips还是tips么?

这里也有人问过相同的问题
http://topic.csdn.net/t/20051107/13/4376443.html

说自己机器上没问题的,附带上运行环境,win7就不用说了,win7下这个问题的确不存在,我说的WinXP

BloodFighter 2010-06-21
  • 打赏
  • 举报
回复
问题的确存在,在开发环境是winxp+vc2005的时候,这个问题的确存在

但是在vista和win7下正常

继续关注,等待明白人解释
zhonglingyu 2010-06-21
  • 打赏
  • 举报
回复
日文xp,vs2005的确再现。。
BloodFighter 2010-06-20
  • 打赏
  • 举报
回复
很奇怪,我在家里用win7+vs2010编译了一下,问题也不出现了,但是我在公司的开发环境保证存在这个问题

难道是不同的编译环境有不同的结果?我周一上班后,再试试看

我周五在公司的办公用机上,这个现象100%必先的,真是诡异啊
不说害怕 2010-06-20
  • 打赏
  • 举报
回复
环境:VS2008,Win7
LZ的工程测试了下,未发现LZ所述现象。
是否注释都一样.点击按钮和未点击一样.都能显示.
许文君 2010-06-20
  • 打赏
  • 举报
回复
环境:VS2005
WIN32工程测试了下,未发现LZ所述现象。
huazhano3 2010-06-19
  • 打赏
  • 举报
回复
哦,原来如此。
oyljerry 2010-06-19
  • 打赏
  • 举报
回复
那就用别的类型封装好的Button类,如CButtonST等,然后使用xp的manifest风格编译,看是否有问题,按理这些第三方类库的最新版本能够支持vs2005的
向立天 2010-06-19
  • 打赏
  • 举报
回复
不用xp风格按钮有焦点的时候tip正常?
BloodFighter 2010-06-19
  • 打赏
  • 举报
回复
我做了一个最精简的demo例子,放在了下载中,如果有人感兴趣,但是不想写代码,可以用这个代码编译一下,在vc2005或者更高的版本可以编译

大家只要更改stdafx.h中关于mainfest.h的代码段注释就可以看到问题了

http://download.csdn.net/source/2465438
BloodFighter 2010-06-19
  • 打赏
  • 举报
回复
不用xp风格按钮有焦点的时候tip正常?
答复:是的

那就用别的类型封装好的Button类,如CButtonST等,然后使用xp的manifest风格编译,看是否有问题,按理这些第三方类库的最新版本能够支持vs2005的
答复:朋友没有仔细看我的问题描述,我就是拿buttonST做的分析,只要加上了xp的mainfest,tooltips就有问题,buttonST的代码中stdafx.h中没有xp风格,所以tooltips是始终有效的,加上了mainfest一样存在问题

请问楼主代码是不是Unicode类型,而manifest风格默认编码是UTF-8
答复:我的工程的确是Unicode的,开发环境是vc2005,如果mainfest默认的是utf-8,那这个问题有办法解决吗?
soswaidao 2010-06-19
  • 打赏
  • 举报
回复
请问楼主代码是不是Unicode类型,而manifest风格默认编码是UTF-8

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧