如何实现XP界面(不用控件)up者有分(200分)

  • 主题发起人 主题发起人 san_fish
  • 开始时间 开始时间
Delphi7中有一个XP界面控件,可以把程序的界面变成正宗XP样式。好像在win32下。
但是这只能在Windows XP或更高操作系统中有效,其它如98/me/nt就没用了。

这个控件的原理非常简单,你不用这个控件(比如你不想用delphi7),就用下面的方法吧,与上面是一样的:

用记事本写下下面的代码,保存后,把这个记事本文件的文件名改为你应用程序名加“.manifest”。如:你的程序名为wind.exe,则把这个记事本文件名改为:wind.exe.manifest
再把这个改名后的文件与你的应用程序放在同一个目录,这时当运行你的程序时,你的程序就是XP界面了,注意:只用在Windows XP下!


<?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="AmazeSoft.FlashGet.DownloadManager" type="win32" />
<description>FlashGet</description>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" processorArchitecture="X86" publicKeyToken="6595b64144ccf1df" language="*" />
</dependentAssembly>
</dependency>
</assembly>
 
使用XP的主题!
 
谢谢各位的帮助。
我现在自己找到了办法,好像前面也有人说过,但说得不清楚,就是重画
比如说我想把Toolbutton改为XP界面
那我先截获CM_MOUSEENTER、CM_MOUSELEAVE、BN_PAINT
即是截获CM_MOUSEENTER、CM_MOUSELEAVE后重画
当鼠标移进是改变按钮颜色
××××××××××××××××××××××××××××××××
但现在又有另外的问题
就是我的ToolButton上面有那些小小的位图的
调用重画时我是用FillRect填充的,那位图也就不见了
不知这问题如何解决??

(不知是不是应该另开标题,如果太复杂的话)
 
看看一些XP控件的实现原理(代码)
包括D7的那个DEMO
觉得没有必要在这个问题上话太大功夫,除非你是界面工程师
 
D7支持XP,D7自带的例子:在:../demo/actionbands/
 
改了一下D7带的可以实现正真的Windows XP菜单。
效果:
http://www.lbang.com/downloads/01.jpg
..
http://www.lbang.com/downloads/06.jpg
 
多人接受答案了。
 

Similar threads

D
回复
0
查看
955
DelphiTeacher的专栏
D
D
回复
0
查看
892
DelphiTeacher的专栏
D
D
回复
0
查看
796
DelphiTeacher的专栏
D
D
回复
0
查看
970
DelphiTeacher的专栏
D
后退
顶部