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