18

我正在使用 Delphi XE2,我喜欢玻璃效果,我想像在 Windows 7 平板电脑工具中一样“切割”玻璃。如果你也知道如何剪一个按钮,如果你告诉我怎么做,我会很高兴。

在此处输入图像描述

谢谢

4

2 回答 2

5

在顶部区域绘制只是使用玻璃框架并在非客户区域绘制,或者使用 DwmExtendFrameIntoClientArea API。

我见过的最好的代码示例是 VCL“Ribbon”控件,它提供了一个“QAT”(快速访问工具栏)区域,绘制在“非客户区”中。

需要注意的是,作者不仅要考虑在Vista/Win7 系统开启Glass 时如何渲染,还要决定在主题引擎关闭时如何在WinXp、Win7 和Vista 上渲染。Vcl.Ribbon.pas在(或者如果您在 XE 或更早版本中,则只是 Ribbon.pas)单元中 有相当多的逻辑专门用于此。

查看procedure TCustomRibbonQuickAccessPopupToolbar.NCPaint(DC: HDC);Vcl Ribbon 资源。

绘制从底部突出的非矩形“扩展区域”可能是应用自定义窗口剪辑区域的问题。

于 2012-01-23T18:36:29.393 回答
0

你的意思是你想要有形状的形状吗?如果是这样

不规则形状

有帮助。我想这将适用于 Windows 7(请注意 Remy 在答案中的评论)。

hth

于 2012-01-24T04:05:35.733 回答