Delphi - Windows Aero 资源

5

有没有关于Delphi和Windows 7或Vista Aero的好资源?

我们公司即将添加Windows 7,希望确保我们的内部应用程序尽可能适应。使用Delphi 2010,我可以添加玻璃框架和菜单栏继承Aero外观,但TabControl、Grids和状态栏都显得过时。有什么帮助吗?


1
你在项目/选项/应用程序中启用了运行时主题吗? - frogb
3个回答

11
我们包含自己的清单资源,因为据我所知,Delphi不会包含Windows 7(和Vista?)的新清单添加项。参考http://msdn.microsoft.com/en-us/library/dd371711(VS.85).aspx,以及这里这里的帮助:
创建一个名为“mymanifest.rc”的文件,其中只有一行内容。
1 24 "my.manifest"

并创建一个名为my.manifest的文件,内容如下

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity type="win32" name="OUR COMPANY NAME" version="3.1.0.0" processorArchitecture="*"/>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type="win32" name="Microsoft.Windows.Common-Controls" version="6.0.0.0" publicKeyToken="6595b64144ccf1df" language="*" processorArchitecture="*"/>
    </dependentAssembly>
  </dependency>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>
        </requestedPrivileges>
    </security>
  </trustInfo>
  <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
    <application>
      <!--The ID below indicates application support for Windows Vista -->
      <supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
      <!--The ID below indicates application support for Windows 7 -->
      <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>
    </application>
  </compatibility>
</assembly>

然后将mymanifest.rc添加到您的项目中,并关闭“启用运行时主题”选项,因为它执行相同的操作(但不够灵活)。 “requestedExecutionLevel”部分可以修改以适应应用程序的UAC需求。

对我们有效。


7
我同意使用“启用运行时主题”项目选项应该使大多数控件具备主题感知功能。 TMS组件不断更新以包含最新的主题,包括Windows 7,Raize组件允许您使用透明度、渐变和主题感知颜色。

-2
只需将单元XPMan添加到Uses列表中。

将xpman组件拖到主窗体上是让控件重新换肤的最简单方法。仅启用运行时主题似乎不足以使我的基本“Hello World”应用程序在Win7上呈现Aero样式外观。感谢这个提示。 - MikeJ
2
现在这被认为是“过时了”。 对于旧版本的Delphi,这将起作用。 如上所示,“启用运行时主题”,或使用Shunty显示的清单答案。 - Warren P

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接