百科问答小站 logo
百科问答小站 font logo



为什么同样的代码生成的EXE界面效果不一样,在xp和win7下也不一样? 第1页

  

user avatar   thexujie 网友的相关建议: 
      

像楼主的 win7_vc6 里的叫“Old Style”,这是从 Win.2000 开始就存在的。

后面两个看起来舒服一些的叫“XP Style”,顾名思义,这是在 XP 引入主题管理器之后才增加的新的按钮以及一些控件样式,这些样式我们可以通过更改 [Control PanelColors] 来替换成我们想要的颜色,实际上很少被大家使用到,渐渐被大众遗忘了……

鉴于太多 XP 之前的旧系统使用了 Old Style,所以,在 XP 以及之后的操作系统里,默认的 Style 都是 Old Style。这是为了保证兼容性,除非我们显式指定 XP Style。指定的方式如下,

1.纯代码:

                #if defined _M_IX86          #pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'"")          #elif defined _M_X64          #pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'"")          #else          #pragma comment(linker,"/manifestdependency:"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'"")          #endif             

从 VC++ 2005 开始之后的 MFC 项目,这段代码都默认被添加到了 stdafx.h 中的,所以也没有过于引人注意。

2.仔细看上段代码就知道,仅仅是针对链接时设置一些参数,所以呢,可以通过

/MANIFESTDEPENDENCY(指定清单依赖项

来实现,也可以自己嵌入 .manifast 文件。

总之目的都是一样的。

1) 以上就是针对问题 1 的回答;

2) 这些不是“同一个EXE”,它们链接参数不一样的;

3) 在使用内置控件的前提下,统一样式是做不到的。真想统一,建议使用 DirectUI 吧。




  

相关话题

  苹果真的偷了施乐的 GUI 吗? 
  什么语言最适合做 GUI? 
  MIUI V5 的一套图标设计是什么风格?有哪些相似作品? 
  tkinter可以做出多复杂的界面? 
  如何修改 QPlainTextEdit 里每个字符的宽度? 
  为什么 JetBrains 选择用 Java 开发 GUI? 
  什么语言最适合做 GUI? 
  为什么电影中的黑客几乎不用鼠标? 
  关于Qt性能的损失,有没有一个可以量化的概念? 
  MIUI V5 的一套图标设计是什么风格?有哪些相似作品? 

前一个讨论
学习 C/C++ ,有什么书籍推荐?
下一个讨论
如何评价「中国夫妇环球骑行在美被撞致重伤」中的这对夫妻?





© 2025-04-27 - tinynew.org. All Rights Reserved.
© 2025-04-27 - tinynew.org. 保留所有权利