3

我正在寻找一个简单、透明的复选框组件,它可以正确支持 XP/Vista/7 主题。

它也应该适用于 Delphi 7。

我在 Torry's 上发现了一个无法正常工作的组件,而且我知道 Raize 组件有一个透明的复选框——但我显然不会为了获得这个单一组件而为整个包装支付 300 美元。

我还找到了许多其他解决方案,但没有一个支持主题化。

主要问题是 TCustomCheckBox 是 TWinControl 后代,为了实现透明度,您需要从头开始制作一个新的 TGraphic 后代控件。

有任何想法吗?

4

5 回答 5

0

Raize Components 对于这个组件来说是多余的,但功能更强大,并且支持整个加载更多组件的透明度。一旦你拥有它,你会非常欣赏其他物品。我会说这是您正在寻找的解决方案。

于 2010-04-27T08:09:11.727 回答
0

如果您可以接受替代控件,则在 JVCL 库中有 JvXPCheckCtrls.pas 及其 TJvXPCheckbox 组件。http://jvcl.delphi-jedi.org 我认为(如果我没记错的话)使用主题时它是透明的。

这是一个相当大的包,它将随着 Jvcl 的安装添加到 vcl。而且它不会花费你一分钱。

但请记住,TJvXPCheckbox 组件是其 XP 控件包的一部分,您不能简单地将组件作为独立组件取出。您将需要安装 Jedi 并获取核心代码和必要的主题处理以使用它。- 其 Mozilla 公共许可证 (“MPL”) 版本 1.1。

于 2010-04-27T17:20:20.753 回答
0

我将 AlphaControls 用于我的一些程序——它们的所有组件都是可换肤的,并且具有相当强大的图形处理选项。许多组件还具有比相应的 Delphi 标准组件更多的功能——我仅将其中一些用于这些功能。www.alphaskins.com 上有一个免费的 Lite 版本 - 它可能正是您所追求的。请注意,它不支持 Vista/7 主题。我们使用 Delphi 2010,并且 vista/7 主题意识已内置到标准 VCL 中,尽管这可能不是您希望的解决方案。

于 2010-04-27T20:43:01.597 回答
0

LMD-Tools SE 是免费的,在 Delphi 7 上运行良好,并且有一个具有透明度属性的复选框组件。我最近使用了 TLMDCheckbox,它的透明度属性在 Delphi 7 中启用。

http://www.lmdinnovative.com/download/index.php#LMD

下载文件:setupse10d7.zip。抱歉,我无法发布整个路径(网址),因为我还没有足够的果汁。

这应该可以解决您的问题:)。

肖恩H。

于 2010-04-27T23:45:04.187 回答
0

不确定这是否有帮助,但我在使用 TMSSmooth 控件时遇到了我认为相同的问题:表单上复选框位置的标签看起来很糟糕,因为它不透明。

他们的演示/示例程序有漂亮的复选框,所以我看了一下他们的示例代码。

事实证明,他们将复选框组件的宽度减小到 13,以便仅显示框本身而没有标题。然后他们为标题添加了一个 TLabel。

对我来说似乎是一个聪明的解决方法。

希望这可以帮助。

于 2010-04-28T16:34:15.000 回答