在WinXP下使用C++Builder怎样生成标准的XP样式的按钮及其他组件(比如Foxmail)

suprer 2002-10-12 10:14:44
我使用的是Windows XP系统+CBuilder 6.0,但是注意到使用CB编译出来的程序中按钮却不是XP样式的,仍然是原来的win32样式,包括其他的例如RadioBox,PageControl,CheckBox等等,都是这样。我用Spy++查看Foxmail中的窗体,它的按钮也是使用TButton类(不知是用Delphi还是CBuilder写的),但是样式却是XP样式的,这是为什么啊。
...全文
54 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
1>新建一个文件: 叫做xptheme.manifest
内容如下:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="Your NAME here"
type="win32"
/>
<description>Extract resources from windows files.</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
2>新建一个RC文件,就叫做theme.rc
内容如下:
1 24 "xptheme.manifest"
3>把这两个文件都加入你的工程。然后build工程。

注:a. 在以前版本的windows这没有效果,但也没有副作用。
b. 3步可以改成如下的操作:用brcc命令行将RC文件,编译成.res资源
然后直接将.res加入工程就可以了...

suprer 2002-10-13
  • 打赏
  • 举报
回复
明白了!谢谢各位。散分!!!
codecb 2002-10-13
  • 打赏
  • 举报
回复
如果就在XP使用 cker(〖烟波浩淼三千里、人鬼殊途五百年〗是可以的
如新建个窗口加些标准控件保存然后就
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
version="1.0.0.0"
processorArchitecture="X86"
name="jishou university.cxm.Project1"
type="win32"
/>
<description>MSN Messenger Service</description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name="Microsoft.Windows.Common-Controls"
version="6.0.0.0"
processorArchitecture="X86"
publicKeyToken="6595b64144ccf1df"
language="*"
/>
</dependentAssembly>
</dependency>
</assembly>
用记事本保存为project1.manifest
新建一个RC文件,就叫做theme.rc
内容如下:
1 24 "project1.manifest"
3>把这两个文件都加入你的工程。然后build工程。
就可以了
codecb 2002-10-13
  • 打赏
  • 举报
回复
XML写的是应用程序的描述文件
要用UTF-8编码格式保存
ComCtl32.lib要是6.0的版本
codecb 2002-10-13
  • 打赏
  • 举报
回复
安照 cker(〖烟波浩淼三千里、人鬼殊途五百年〗
还要
要链接ComCtl32.lib
初始化是调研InitCommonControls
95533 2002-10-13
  • 打赏
  • 举报
回复
呵呵,我只知道foxmail是Delphi写的。
Nepalon 2002-10-13
  • 打赏
  • 举报
回复
可用XP风格的控件,如skinengine,themeengine,在www.51delphi.com上有得下载
suprer 2002-10-13
  • 打赏
  • 举报
回复
To cker(〖烟波浩淼三千里、人鬼殊途五百年〗) :
  不行啊,我试了,没效果。另外,请问这是什么原理啊,为什么要用到XML?
layerr 2002-10-12
  • 打赏
  • 举报
回复
使用控件

skinengine

themeengine

如果只是想做一个漂亮的ToolBar的话,最好用:ToolBar2000

如果需要上述控件,可以发邮件给我:ly@cqit.com.cn

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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