【发布时间】:2012-02-16 20:51:29
【问题描述】:
我正在使用 Delphi XE2,我喜欢玻璃效果,我想像在 Windows 7 平板电脑工具中一样“切割”玻璃。 如果你也知道如何剪一个按钮,如果你告诉我怎么做,我会很高兴。
谢谢
【问题讨论】:
标签: delphi aero-glass
我正在使用 Delphi XE2,我喜欢玻璃效果,我想像在 Windows 7 平板电脑工具中一样“切割”玻璃。 如果你也知道如何剪一个按钮,如果你告诉我怎么做,我会很高兴。
谢谢
【问题讨论】:
标签: delphi aero-glass
在顶部区域绘图只需使用玻璃框架并在非客户区域绘图,或者使用 DwmExtendFrameIntoClientArea API。
我见过的最好的代码示例是 VCL“Ribbon”控件,它提供了一个“QAT”(快速访问工具栏)区域,绘制在“非客户区”中。
请注意,作者不仅要考虑在Vista/Win7 系统开启Glass 时如何渲染,还要决定在主题引擎关闭时如何在WinXp、Win7 和Vista 上渲染。 Vcl.Ribbon.pas(或者如果您在 XE 或更早版本中,则只是 Ribbon.pas)单元中有相当多的逻辑专门用于此。
查看 Vcl 功能区源中的 procedure TCustomRibbonQuickAccessPopupToolbar.NCPaint(DC: HDC);。
绘制一个从底部突出的非矩形“扩展区域”可能是应用自定义窗口剪辑区域的问题。
【讨论】:
UpdateLayeredWindow?这真的有用吗?
【讨论】: