问题标签 [vcl-styles.-utils]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
818 浏览

inno-setup - How to apply VCL Styles to DLL-based forms in Inno Setup? New styles will not load

I have a problem with loading VCL Styles for Inno Setup. The installer generates correctly, but still remains an old style. New styles will not load.

I do not understand why this is happening. Please help!

Here my iss code:

0 投票
1 回答
658 浏览

inno-setup - 如何在 Inno Setup 中将 VCL 样式应用于基于 DLL 的表单以进行卸载?无法导入dll

我正在尝试为我的安装程序添加 VCL 样式(Inno Setup 5.5.6 (a))。在安装过程中正确加载样式,但是当我尝试卸载时出现错误

运行时错误(at-1:0):无法导入 dll:VclStylesInno.dll。

而且我无法卸载我的程序。

有谁知道我能做什么?
谢谢您的帮助

0 投票
1 回答
865 浏览

inno-setup - 在 Inno Setup 中为卸载过程加载外部 DLL

我正在尝试为 Inno Setup 的卸载形式加载 VclStylesInno.dll。下一段代码在[Code]部分中间声明:

但我遇到了一个错误

在初始化之前尝试扩展“app”常量

为卸载过程加载 DLL 的最佳方法是什么?

0 投票
1 回答
726 浏览

delphi - Vcl Style Utils - 摆脱默认表单图标

我已经将此作为问题发布在 GitHub 上的 RRUZ 的 Vcl Style Utils库上。不过,我想我也可以在这里得到一些帮助。

我正在使用 VCL 样式创建 Windows 10 用户界面,特别是使用“Windows 10 Dark”样式。我还使用 VCL Style Utils 能够将按钮添加到标题栏中的非客户区。就像大多数新的 Windows 10 应用程序一样,我试图完全无视表单图标及其默认功能,转而使用后退按钮。

我试图在表单的最左上角放置一个按钮,使用TNCControls. Vcl.Styles.NC但是,当我在表单的图标上放置一个按钮时,无法在图标区域单击该按钮。虽然我可以重叠图标,但单击标题栏的特定区域总是会打开表单的系统菜单,而不是单击我放置在那里的按钮。

我不希望单击此处时弹出此菜单:

表单系统菜单

我目前如何创建此按钮:

到目前为止我已经尝试过:

  1. 将表单的图标替换为完全空的 .ico 文件。

  2. 将表单样式更改为 bsSizeToolWin,但标题栏变得太小,我失去了最小化/最大化按钮。

  3. 将表单样式更改为 bsDialog,但我得到与上面 #2 相同的效果,并且无法调整表单大小。

  4. 确保按钮样式为 nsPushButton,虽然它覆盖了表单图标,但单击该区域仍会单击该图标,而该图标又会显示默认的系统菜单。

  5. 遵循此线程中的所有内容,但结论是 Windows 强制您拥有此图标。

  6. biSystemMenu从表单的属性中删除BorderIcons,但这也删除了表单右上角的默认按钮,迫使我在那里放置自己的系统按钮。

如何完全消除表单图标及其默认功能以支持 Windows 10 样式的后退按钮?

0 投票
2 回答
1285 浏览

inno-setup - Inno Setup - 带有 VCL 样式的语言选择器

有没有办法将语言选择器(Inno Setup)与 VCL 样式一起使用?如何?

0 投票
1 回答
307 浏览

c++builder - 包含在 Embarcadero C++ Builder 中生成的 VCL 样式实用程序的 .hpp 文件时出错

我想在 Embarcadero C++Builder 10.2 Tokyo 中使用库“VCL Style Utils”。

所以我创建了一个新项目并添加了:

构建成功并.hpp为这些文件生成.pas文件。

然后我创建另一个项目并包含.hpp生成的文件。

但是在构建时出现此错误:

[bcc32 错误] Vcl.Styles.Utils.Menus.hpp(164):E2040 声明错误终止。

这是 Vcl.Styles.Utils.Menus.hpp 的第 163 和 164 行:

为什么这些声明不正确?

0 投票
1 回答
174 浏览

delphi - 重绘表单时有没有办法暂时暂停 VCL 样式?

我正在使用这个遗留的 Delphi 应用程序,它是使用 VCL 样式变得更现代的候选者。一种形式导致了性能问题。

此问题形式根据规范动态创建控件。不仅如此,它还不会一次创建所有控件。它有一个分层组织,控件绘制在组框上,单击复选框或单选按钮可以创建一个新的嵌套组框,其中包含新控件。至少在某些时候,表单上的所有控件都会保存它们的状态、删除它们,然后重新创建它们并恢复它们的状态。这适用于老式(想想 Windows NT 3.51)控件,但是当添加 VCL 样式时,此表单可能需要一分钟以上的时间来重绘自身。

我认为正在发生的事情是样式导致遗留表单绘图代码正在响应的 Windows 事件,导致它重复它已经完成的事情。我想知道是否有一种方法可以暂时关闭样式以允许此表单在应用样式所做的任何更改之前完全绘制自己。

我注定要失望吗?

编辑:这是使用 Delphi XE3。