我使用的是Delphi XE2,我喜欢玻璃效果,并且希望像Windows 7平板电脑工具一样“切割”玻璃。
如果您还知道如何按下按钮,请告诉我,我将很高兴。



谢谢

最佳答案

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

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

请注意,作者不仅要考虑在启用Glass的Vista / Win7系统上如何渲染,还必须决定在关闭主题引擎时如何在WinXp,Win7和Vista上渲染。 Vcl.Ribbon.pas(如果您使用的是XE或更早版本,则为procedure TCustomRibbonQuickAccessPopupToolbar.NCPaint(DC: HDC);)(或者如果是Ribbon.pas)中有很多逻辑专用于此。

查看Vcl功能区源中的。

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

10-07 19:21
查看更多