【问题标题】:Delphi button on Glass - Best Looking Third Party Button ComponentGlass 上的 Delphi 按钮 - 外观最佳的第三方按钮组件
【发布时间】:2011-03-22 20:01:53
【问题描述】:

我正在寻找一个设计用于运行 Vista 和 Windows 7 的 Aero Glass 的 Delphi 按钮,具有以下属性:

  1. 完全自绘的 TCustomControl 后代。

  2. 在具有 Aero 组合 (DWM) 的玻璃窗格上看起来不错 [以一种对用户来说看起来像普通按钮的方式呈现,没有故障],按钮周围没有白色或黑色环,没有问题标题被 Aero 组合弄乱了。 (这将敲掉任何没有写成玻璃感知的按钮。)

  3. TButton/TBitButton 的常用功能,包括指向 TActions 的链接、对字形(位图/图片)的支持等。

可选的,很高兴有功能:

  1. 透明度支持(可选,如果它可以不透明但在玻璃上干净地绘制就更好了)。

【问题讨论】:

  • 你看到这篇文章了吗,顺便说一句?显然,在玻璃上绘制有趣的东西是一个更广泛的 Windows 问题,而不仅仅是 VCL 问题。 delphihaven.wordpress.com/2010/07/29/controls-and-glass
  • 哦,是的,当然。我想了很多,所以提出了这个问题。我问了提示那篇博客文章的问题。
  • 我给了你一个解决方案来回答你的其他问题。我无法复制粘贴链接,因为我现在使用的是 iPad。
  • 绝对没有理由购买昂贵的第三方组件,因为 Cosmin Prund 已经证明让标准 TButton 完美运行是多么容易。见stackoverflow.com/questions/3357224/…
  • 在 Delphi QC 区域的其他地方,事实证明常规的 TButton 不能完美地工作,因为 Common Controls 库本身和 glass 不能很好地工作。但是关闭双缓冲的 TBitBtn 工作正常。

标签: delphi aero


【解决方案1】:

我可以将Raize Components 中的TRzButton 扔到环中。表单应将 DoubleBuffered 设置为 true 以使标签可见,但按钮必须关闭 DoubleBuffered 才能删除不需要的框架。

如果需要字形,您也可以使用 TRzBitBtn。作为替代方案,来自PngComponents 的 TPngBitBtn 也将符合条件。

【讨论】:

  • 绝对没有理由购买昂贵的第三方组件,因为 Cosmin Prund 已经证明让标准 TButton 完美运行是多么容易。见stackoverflow.com/questions/3357224/…
  • Andreas:没错,但我确实问过,因为我想知道。这是我见过的唯一一款开箱即用且没有标准 TButton 故障或任何解决方法的产品。如果 Jvcl 元按钮组件 (JvdotNetButton) 不起作用,我会尽快修复它,正如 Cosmin 所示。
  • @Andreas:第一:PngComponents 是免费的——第二:关于你通过 Raize Components 获得的其他东西,TRzButton 一点也不贵。
  • +1。我喜欢所有 Raize 组件,但我的代码不起作用 :( 按钮可以正常工作,但表单不能。
  • @Cosmin:您的代码试图模仿与 glassframe 互斥的 TransparentColor 属性。这就是为什么它在 VCL 代码中被禁止。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-09-28
  • 2019-11-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-09-08
相关资源
最近更新 更多