如何在 .net 2.0 中的 Windows 窗体应用程序上提供 Vista 或 Mac OS X 风格的玻璃效果?
这是通过使用 Vista DWM(桌面窗口管理器)API 的互操作来完成的。
例如,导入这些函数:
[DllImport("dwmapi.dll")]
static extern void DwmExtendFrameIntoClientArea(IntPtr hWnd, ref Margins pMargins);
[StructLayout(LayoutKind.Sequential)]
struct Margins
{
public int cxLeftWidth;
public int cxRightWidth;
public int cyTopHeight;
public int cyBottomHeight;
}
然后您可以使用它将玻璃从窗口顶部“拉下”到客户区域:
GlassMargins.Top = 40;
GlassMargins.Left = 0;
GlassMargins.Right = 0;
GlassMargins.Bottom = 0;
DwmExtendFrameIntoClientArea(this.Handle, ref GlassMargins);
从这里,您可以继续执行其他操作,例如在玻璃上绘制文本或图像,或者在其上放置控件,例如 Office 2007 样式的应用程序按钮。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)