Delphi:Aero-Glass标签页

10
我希望在这里有类似于这样的选项卡(全部为玻璃材质): enter image description here 一个程序是用Delphi或C++ Builder编写的。我在Winspector Spy & Window Detective中找不到选项卡的类。
我知道一个非常好的组件 - rkAeroTabs,但不幸的是它不显示具有玻璃效果的活动选项卡(这就是我需要的),而其他选项卡也不是完全透明的: enter image description here
(来源:rmklever.com) 有人知道如何获得这些玻璃选项卡吗?谢谢。

1
这更加复杂,因为活动选项卡总是与某些非活动选项卡相交。将其设置为“玻璃”或者说透明会导致您看到非活动选项卡的一部分(请参见此处)。解决这个问题需要进行深层次的修改。还有一个不愉快的伪影,您也可以在截图中看到;控件后面有一个由ColorBackground着色的实心矩形。 - TLama
2
要删除控件后面的实心矩形,您可以公开FTransparent属性字段。将其设置为True,背景将变为透明(请参见这里)。 - TLama
对我来说,作者如何制作这些选项卡非常有趣。他在应用程序中使用了LMD、TMS、Jedi组件,但它们并没有这样的选项卡。 - maxfax
好的。最后,所有的选项卡(除了活动的)看起来都像玻璃(使用了许多效果来实现那种玻璃效果,而不仅仅是透明度,就像rkAeroTabs/rkSmartTabs一样)。我需要玻璃选项卡,而不是透明的。如果您想,可以安装那个应用程序并查看差异,差异很大。 - maxfax
1
@maxfax,请前往TrkAeroTabs.SetColors并修改以下行:Brushes[2] := TGPSolidBrush.Create(MakeColor(255, Byte(c), Byte(c shr 8), Byte(c shr 16)));,将其改为...MakeColor(200, Byte(c), Byte(c shr 8), Byte(c shr 16))...,其中200表示活动选项卡颜色的透明度。我不知道如何在非透明元素上绘制玻璃效果。 - TLama
显示剩余13条评论
2个回答

9

我刚刚完成了一个相当完整的 Delphi Chrome 浏览器选项卡实现。

enter image description here

这些功能包括:

  • 完全可配置的外观,包括渐变、透明度和自定义选项卡形状
  • 可在 Vista 玻璃上运行
  • 选项卡移动动画
  • 选项卡过渡样式效果(在颜色和 alpha 水平之间淡入淡出)
  • 容器内和容器之间的拖放
  • 拖动图像显示选项卡和任何 TWinControl
  • 当用户单击关闭按钮时智能调整选项卡大小
  • 流畅的选项卡调整,具有最小和最大选项卡尺寸
  • 添加选项卡按钮可以位于左侧、右侧或浮动右侧
  • 全功能滚动,包括拖动时自动滚动
  • 智能选项卡内容显示根据选项卡宽度隐藏/显示项目
  • 所有项目均可自定义绘制
  • 从右到左的文本
  • 固定选项卡
  • 带有动画发光效果的修改选项卡
  • 选项卡图像和叠加图像
  • 鼠标悬停效果
  • 许多事件
  • 将外观和选项保存到流/文件中
  • 生成 Delphi 代码的外观和选项

您可以在此处下载源代码和完整的演示/编辑器:http://code.google.com/p/delphi-chrome-tabs/


你的选项卡看起来非常不错,你打算更新它以适配XE5吗? - Eduardo Elias
@eelias - 目前很难找到时间。不过,只需要创建一个新的XE5包并安装即可。 - norgepaul

1

正如@Sertac Akyuz所指出的:

rkSmartTabs具有设置选项卡不透明度级别的属性。

LevelTabActiveLevelTabHotLevelTabInActive

通过更改默认值(分别为255、192和224),您可以改变不同选项卡状态的不透明度。

我已经玩了几个星期了。我真的很喜欢Roy所做的事情。


OP 希望适用于 rkAeroTabs 而不是 rkSmartTabs ;) - TLama
@TLama:他没有提到rkAeroTabs。我认为他正在寻找一种启用玻璃效果的页面控件。使用类似TabControl的rkSmartTabs,他可以获得玻璃效果的选项卡,然后使用面板或框架之类的东西在它们之间切换,以在窗体上获得玻璃效果。我还没有找到一个具有玻璃效果的页面控件。我知道rkSmartTabs(同一作者)可以使用我提到的方法来实现玻璃效果的选项卡。 - Vivian Mills
当然,他确实做到了。你在回答中谈论的是 rkSmartTabs :) - TLama

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接