问题标签 [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 投票
1 回答
1366 浏览

delphi - 从 NC 区域中删除 vcl 样式时,不显示 TMainMenu

我正在使用此代码从表单的非客户区中删除 vcl 样式。

在应用此样式挂钩之前,表单看起来像

在此处输入图像描述

之后

在此处输入图像描述

如您所见,菜单消失了,问题是:我该如何解决?我的意思是如何在不删除 TMainMenu 的情况下从表单的非客户区删除 vcl 样式?

0 投票
1 回答
2681 浏览

delphi - 如何将 vcl 样式挂钩应用于表单的特定组件?

我正在使用这个问题的答案的 vcl 样式钩子close button of a tabsheet not supporting vcl styles并且工作正常,但是关闭按钮被绘制在我的应用程序的所有 TPageControl 组件中。

在此处输入图像描述

我只想将此选项(绘制关闭按钮)添加到特定表单。问题是:如何将这个钩子或任何 vcl 样式的钩子应用到特定表单的 TPageControl?

0 投票
1 回答
1213 浏览

delphi - Delphi XE2中从右到左的组合框与样式

当我在 Delphi XE2 中使用具有自定义样式(Emerald Light Slate)和此属性的 ComboBox 时遇到问题:

没有自定义样式的 ComboBox:

在此处输入图像描述

并带有自定义样式(翡翠灯石板):

在此处输入图像描述

我该如何解决?

0 投票
1 回答
1768 浏览

delphi - Delphi XE2 VCL 样式,如何在 TBitBtn 上禁用 VCL 样式?

我在 Delphi XE2 中使用新的 VCL 样式系统,它工作正常,但在一个表单上我想要例外。此表单包含多个 TBitBtn 控件,每个 TBitBtn 控件都有自己的字体颜色(clRed、clBlue、clLime 等),与其他控件不同。由于 Style 实现,所有 TBitBtn 控件的 Caption 都以黑色而不是设置颜色显示。是否有任何可以在 TBitBtn 控件上注册的 TStyleHook,它在该表单上禁用了 TBitBtn 控件上的样式?

0 投票
1 回答
338 浏览

delphi - 使用 VCL 样式时,TListview 标题中没有图像

在激活任何 VCL 样式的 vsReport ViewStyle 中使用 TListview 时,不会显示标题中的图像。取消经典的 Windows 风格,图像出现。(显示我使用的图像的方法是将 TImageList 分配给 ListView 的 SmallImages 属性,然后在相应列的 Columns 属性中选择图像索引)。如何在启用 VCL 样式的 TListView 的标题中显示图像?

0 投票
1 回答
1750 浏览

delphi - 如果您使用 Styles,Delphi TListView DoubleBuffered 将不起作用

当您启用应用程序样式并将 TListView 的 DoubleBuffered 属性设置为 True 时,它​​不起作用。当您更新列表项及其子项时,它会闪烁。有人对此有解决方案吗?

我实际上很喜欢 Styles,但仍然存在技术问题。现在我不能相信风格。

谢谢,K。

0 投票
1 回答
7770 浏览

delphi - 如何在我的应用程序中手动包含 VCL 样式?

我有一个应用程序,它使用条件能够将其编译为 VCL 表单应用程序或 Delphi XE2 中的 Windows 服务应用程序。但是,由于我手动更改了项目的主源文件,IDE 将不再允许我使用标准项目选项窗口进行某些修改。具体来说,我无法选择要包含或实现的 VCL 样式。

因此,我必须手动实现 VCL 样式。所以,我添加了两个必要的单元Vcl.ThemesVcl.Styles我项目的初始化单元(在这种情况下,它与项目的主单元不同),并且基本上将代码从工作应用程序复制到这个新应用程序中。

这是项目的主要单元:

然后在项目的初始化单元中:

问题是,当应用程序运行时,我得到一个错误Style 'Carbon' could not be found.只是因为这个样式没有被包含并编译到应用程序中。

如何手动将此样式编译到此应用程序中,以便 VCL 样式可以实现它?

PS:之所以在单独的单元中进行初始化,是因为如果条件是在应用程序的主单元中实现的,IDE 会破坏代码。

编辑

我尝试过的一件事:我打开了一个工作项目的.dproj文件并搜索了这种风格carbon,希望在那里找到一些配置,因为工作项目使用了这种风格,但没有运气。该文件中的任何位置都不存在该单词。

0 投票
1 回答
2096 浏览

delphi - 是否可以在运行时修改 VCL 样式?

我有一个TabControl其中每个选项卡代表一组不同的数据。我的应用程序使用VCL Styles,因此设置OwnerDrawTrue不会导致OnDrawTab被调用。VCL Styles我想知道是否有可能以某种方式拦截使用(在我的情况下为)绘制特定控件的例程TabControl,并更改控件的绘制方式(例如,更改Canvas.Font等)。

0 投票
1 回答
1843 浏览

delphi - 使用 Vcl 样式时更改 TActionMainMenuBar 的字体

通常可以像这样更改 TActionMainMenuBar 或 TMainMenu 的字体:

使用 Vcl 样式时,如果为组件注册了 StyleHook,则不再可能。我进入位图样式设计器(以前称为 Vcl 样式设计器)并更改了MenuItemTextNormal的字体。

问题是更改字体没有任何作用,我只能成功更改文本的颜色。

显然我在这里遗漏了一些东西,为什么我可以更改颜色而不是字体?

0 投票
1 回答
730 浏览

delphi - 在 VCL 应用程序中禁用样式

我正在将 VCL 样式添加到我的应用程序中,但也为用户提供了关闭它的选项,但我无法弄清楚如何在运行时全局执行此操作。

设置“TStyleManager.AutoDiscoverStyleResources := false”几乎可以工作,但它会弹出一条错误消息,提示“未找到样式 {style set}”,但在关闭该消息后完全符合我的要求。

我希望这段代码可以工作,但没有......

我也试过(最初)

但这也行不通。

我已经尝试过“Application.Initialize;”的这两个方面 没有区别

我错过了什么?在此先感谢,马丁