gpt4 book ai didi

delphi - 古老的 Delphi VCL 应用程序看起来没有 Windows 主题或 VCL 风格

转载 作者:行者123 更新时间:2023-12-02 11:02:23 26 4
gpt4 key购买 nike

无论如何,这就是我的分析。今天早上,我将我的应用程序“分发”给了我们的组织,结果发现,在 XE8 中对这个旧的 win32 应用程序进行了一个月的新工作后,不使用 Windows 7“Basic”主题的客户端会看到 a very faded appearance 。但是我们这些使用远程桌面或使用基本主题的人会看到 about what I think we've always seen

事实:

  • 使用 XE8、Win32、当前 Raize 组件制作
  • XPMan 已被删除
  • “启用主题”在所有配置中均处于“打开”状态,选中 Metropolis,Windows 在外观中设置为默认主题。
  • 最近的一个带有一些 Raize 组件的小型应用程序看起来不错,我已尝试遵循该应用程序制定的模式。
  • 事实:

    1. 从 Delphi 1 开始我就一直带着这个应用程序;我可能已经围绕 Delphi 2 重建了项目源代码,但除此之外,我并没有对 dproj 文件进行过多的修改。
    2. 我怀疑我必须专注于资源编译位。我知道的唯一资源是图标和 list ,我猜 list 是这里真正的问题。我大约一个月前删除了“XPMan”,但直到今天早上才部署。

dpr 看起来像这样:

program db_silookup;
uses
Vcl.Forms,
Vcl.Themes,
Vcl.Styles,
//...
{$R *.res}
{$R 'win7.rc'}
begin
Application.Initialize;
Application.UseMetropolisUI;
Application.CreateForm(TfmSi, fmSi);
Application.CreateForm(TfmXferList, fmXferList);
TStyleManager.TrySetStyle('Windows');
Application.Title:='Law School Lookup';
Application.Run;
end.

因为我怀疑这很重要,所以 win7.rc 是:

1 24 "win7.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="App" 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>
<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>

最佳答案

由于您要包含自己的 list ,因此应禁用“启用运行时主题”,否则 exe 中将包含重复的 list ,但只能有一个。

您应该使用“使用自定义 list 选项”,删除 {$R 'win7.rc'} 并让 Delphi 为您编译它。这也将使您更轻松地根据需要更改 list 。

关于delphi - 古老的 Delphi VCL 应用程序看起来没有 Windows 主题或 VCL 风格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30855988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com