[3H]:XP按钮等样式在程序中的实现原理?(200分)

  • 主题发起人 主题发起人 3h
  • 开始时间 开始时间
3

3h

Unregistered / Unconfirmed
GUEST, unregistred user!
我有无带源码的控件:XPdesign,它能自动识别并使按钮变成XP风<br>格的样式——如果是使用XP样式时。请问它的实现原理是怎么样的<br>呢?我想应该是Windows带有相应的函数吧?200分,不成敬意。
 
我觉得XPDesign没用把!
 
那你觉得什么比较有用或者好用?<br>我今天再仔细用了一下XPDesign,发现如果使用ListView时会出现错误。
 
我觉得即使你的程序里面能做xp式样。 如果用户的系统设置不允许xp式样,<br>你有什么办法?难道还强迫别人使用xp式样?
 
当然不是。我觉得应该能够自动判别的。
 
没有意思。就算你判断出来用户不允许,那么你就不能用xp式样。如果用户允许,<br>就我的经验,xp出来以前的程序都是以xp式样显示的。还要你做什么!??<br>
 
XPDesign其实只是使用了一个后缀名为.manifest的脚本文件,我这里有带源码的XPDesign<br>在他的文件中有一个XPdesign.rc,里边的内容是:1 24 "themed.manifest",而在他的<br>目录中正好就有一个themed.manifest文件,其实XPDesign就是将这个文件作为资源放进EXE<br>中。其实你将.manifest的文件名前缀换乘你的程序的文件名(如:program.exe.manifest)<br>,将program.exe.manifest和你的程序program.exe放到同一个目录中,再在WinXP下运行<br>你的程序,你会发现你的程序已经完全变成XP风格。我试着把QQ,Flashget还有我自己做的<br>程序目录中都放上.manifest,全部成功。所以根本没有必要装XPDesign,只需把.manifest<br>放到你程序的目录中,并命名为 你的程序名.exe.manifest就行了。若你不想让人看见<br>此文件,也可以自己把它做到exe中。<br><br>以下为manifest内容:<br>&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;<br>&lt;assembly xmlns="urn:schemas-microsoft-com:asm.v1" <br>manifestVersion="1.0"&gt;<br>&lt;assemblyIdentity<br>&nbsp; &nbsp; name="Your.Application.Name.Here"<br>&nbsp; &nbsp; processorArchitecture="x86"<br>&nbsp; &nbsp; version="1.0.0.0"<br>&nbsp; &nbsp; type="win32"/&gt;<br>&lt;description&gt;Windows Shell&lt;/description&gt;<br>&lt;dependency&gt;<br>&nbsp; &nbsp; &lt;dependentAssembly&gt;<br>&nbsp; &nbsp; &nbsp; &nbsp; &lt;assemblyIdentity<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; type="win32"<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; name="Microsoft.Windows.Common-Controls"<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; version="6.0.0.0"<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; processorArchitecture="x86"<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; publicKeyToken="6595b64144ccf1df"<br>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; language="*"<br>&nbsp; &nbsp; &nbsp; &nbsp; /&gt;<br>&nbsp; &nbsp; &lt;/dependentAssembly&gt;<br>&lt;/dependency&gt;<br>&lt;/assembly&gt;<br>
 
GOOD:)<br><br>还有一个问题,就是它跟ListView好象有点过节,当在Report模式时会出错?
 
你们怎么用的?我用不好那个东西。按照说明做了也不行啊!
 
我有一个XP样式的源码文件,是一个.pas文件,可惜我看不懂
 
后退
顶部