问题标签 [vcl-styles]

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 投票
2 回答
362 浏览

delphi - There is a TCustomStyleServices in Delphi 7?

In order to override TPanel's Paint procedure to make the background color clwhite in delphi 7, I am following @RRUZ Answer, but I can't find the TCustomStyleServices class.

There is an alternative to do what I want?

I'm using XPMan resource (IDK if changes anything).

0 投票
1 回答
486 浏览

delphi - 在运行时更改 VCL 样式会导致内存泄漏

在阅读了这个问题之后,我试图让最终用户在运行时更改我的应用程序的样式。这导致了长的内存泄漏列表,内容如下:

几乎所有的泄漏都在 中frxDsgnIntf.pas,除了表单上允许用户更改样式的所有组件并且都指向此过程:

有谁知道我做错了什么,或者这是改变风格时的预期行为?TStyleManager这是在运行时更改样式的代码:

0 投票
1 回答
2780 浏览

delphi - 使用 VCL 样式时显示窗口阴影

使用 VCL 样式时,有没有办法按照正常的 Windows 7 表单显示窗口阴影?

我了解样式中的位图和设置替换了表单边框,但阴影不是某种 alpha 混合/aero 的东西,在样式影响的区域之外吗?

将 CS_DROPSHADOW 添加到 WindowClass.Style 似乎没有效果。

0 投票
2 回答
4564 浏览

delphi - 如何使用 VCL.Styles 获取表单背景颜色

即使在使用 vcl,styles 时,某些组件也会使用 Color 属性设置来绘制颜色。因此,当使用 Metro 深色样式(接近黑色)并且组件颜色设置为 clWindow 时,组件颜色与样式不匹配。有没有办法在使用 vcl.style 时获取表单背景颜色,以便可以设置组件的颜色属性以匹配表单样式的背景颜色?

颜色可以通过在样式设计器中加载样式来获得,但我想在运行时获取颜色值。

0 投票
3 回答
3272 浏览

delphi - DLL 中的 VCL 样式问题

我开发了一个具有一种形式的 DLL。我使用以下代码为其设置了样式。

当我加载此 dll 并调用打开此表单的 function1 时。表单打开并应用了样式。

现在,当我最小化该窗口时,我遇到了访问冲突。包括最大化和恢复在内的一切工作正常。此外,所有功能都运行良好。

我猜它没有处理这种形式的最小化事件生成的消息。请指教。

注意:当我删除样式时,一切正常。

更新:SSCCE

Project1.EXE(有一个表格 Unit1.pas/dfm)

创建一个 DLL Project2.dll,其中 unit2 为任何形式,unit3 将调用该形式。将样式(例如 AnyStyle1)添加到此 dll 作为资源。

unit3.pas

现在按下 Unit2 窗口的最小化按钮。您将遇到访问冲突。

0 投票
1 回答
992 浏览

delphi - 使用 VCL 样式时覆盖某些 TBitButtons 的样式

我希望能够在我正在开发的应用程序中将某种样式应用于少数 BitBtn。我已经应用了 VCL 样式来为我的整个应用程序设置皮肤。

根据我在网上阅读的理解,我可以定义我自己的 TBitBtn 子类,然后我可以为给定的类定义一个样式挂钩。

我让它与 TLabel 和 TEdit 一起工作,但我不太确定如何为 TButton 或 TBitBtn 管理它。本质上,我想对自定义 TBitBtn 应用不同的背景图像,而不是主题中包含的背景图像。

0 投票
1 回答
1387 浏览

delphi - Delphi XE2 VCL 样式 - 滚动条绘画

应用 VCL 样式时,Delphi XE2 中的文本编辑器出现问题。如果我在窗体上放置了 2 个 TMemo 控件(Memo1 和 Memo2),并且 Memo1 部分位于 Memo2 后面,则 Memo1 的 scollbars 将绘制在 Memo2 上。

我试图创建一个继承自 TScrollingStyleHook 的样式挂钩,但我没有找到任何解决问题的方法。有人知道如何修复这个错误吗?

顺便说一句:我也在 Delphi XE5 中测试过它,它的行为方式相同。

以下是 .dfm 和 .pas 文件的源代码:

DFM:

考绩:

0 投票
1 回答
3079 浏览

delphi - 使用 VCL 样式形成背景颜色?

我正在尝试使用 VCL 样式。这可能是一个愚蠢的问题,但是在使用样式时是否可以有具有不同背景的表单?似乎在 VCL 样式设计器中指定了表单背景(客户区),它覆盖了表单的Color属性。

如何实现具有不同背景颜色的表单?例如,我希望我的模态对话框具有与主窗体不同的背景颜色。

0 投票
1 回答
1618 浏览

delphi - Delphi 更改 Metropolis UI 字体颜色

每当我制作 Metropolis UI 项目并尝试将 Label 字体更改为白色以外的任何颜色时,什么都没有发生,并且当我编译项目时颜色始终为白色,那么无论如何要更改颜色字体吗?

我正在使用 Delphi XE5,VCL 应用程序。

0 投票
1 回答
2749 浏览

delphi - 德尔福 XE3。TStyleManager.SetStyle 适用于应用程序中的所有表单。如何仅在 1 个表单上设置样式?

我需要一个表格来测试样式。并且仅以这种形式应用每种样式。但是 TStyleManager.SetStyle 适用于应用程序中的所有表单。如何仅以当前形式应用样式?