我正在寻找一个简单,透明的复选框组件,它可以正确支持XP / Vista / 7主题。
它也适用于Delphi 7。
我发现Torry上的一个组件运行不正常,我知道Raize组件有一个透明的复选框 - 但我显然不会为了获得这个单个组件而为整个软件包支付300美元。
我还发现了许多其他解决方案,但它们都不支持主题。
主要问题是TCustomCheckBox是一个TWinControl后代,为了实现透明性,你需要从头开始创建一个新的TGraphic后代控件。
有什么想法吗?
答案 0 :(得分:0)
Raize Components对于这个组件来说太过分了,但功能更强大,并支持更多组件的整体负载透明度。一旦你拥有它,你将非常欣赏其他项目。我会说这是你正在寻找的解决方案。
答案 1 :(得分:0)
如果您可以接受替代控件,那么JvCL库中的JJXPCheckCtrls.pas及其TJvXPCheckbox组件。 http://jvcl.delphi-jedi.org 我认为(如果我记得正确的话)在使用主题时它是透明的。
这是一个非常大的包,它将通过安装Jvcl添加到vcl中。它不会花费你一分钱。
但请记住,TJvXPCheckbox组件是其XP控件包的一部分,您不能简单地将组件作为独立组件取出。您将需要安装Jedi并获取核心代码和必要的主题处理以使用它。 - 其Mozilla公共许可证(“MPL”)1.1版。
答案 2 :(得分:0)
我将AlphaControls用于我的一些程序 - 它们的所有组件都是可换肤的,并具有相当强大的图形处理选项。许多组件也具有比相应的Delphi标准组件更多的功能 - 有些我只是单独用于那些功能。 www.alphaskins.com上有免费的Lite版本 - 它可能就是您所追求的。请注意,这不是Vista / 7主题感知。我们使用Delphi 2010,vista / 7主题意识内置于标准VCL中,尽管这可能不是您希望的解决方案。
答案 3 :(得分:0)
LMD-Tools SE是免费的,在Delphi 7上运行良好,并且有一个具有透明属性的复选框组件。我最近使用了TLMDCheckbox,其透明属性启用了Delphi 7。
http://www.lmdinnovative.com/download/index.php#LMD
下载文件:setupse10d7.zip。对不起,由于我还没有足够的果汁,我无法发布整个路径(网址)。
这应该能解决你的问题:)。
ShawnH。
答案 4 :(得分:0)
不确定这是否会有所帮助,但在使用TMSSmooth控件时遇到了我认为同样的问题:表单上复选框位置的标签看起来很糟糕,因为它不透明。
他们的演示/示例程序看起来很漂亮,所以我看了他们的示例代码。
原来他们将复选框组件的宽度减少到13,这样只有框本身并且没有显示标题。然后他们为标题添加了一个TLabel。
对我来说似乎是一个聪明的解决方法。
希望这有帮助。