程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C# WinForm完成Win7 Aero通明後果代碼

C# WinForm完成Win7 Aero通明後果代碼

編輯:C#入門知識

C# WinForm完成Win7 Aero通明後果代碼。本站提示廣大學習愛好者:(C# WinForm完成Win7 Aero通明後果代碼)文章只能為提供參考,不一定能成為您想要的結果。以下是C# WinForm完成Win7 Aero通明後果代碼正文


在Vista體系以後,微軟為窗體法式供給了Aero磨砂的後果,以下圖。那末用C#若何來完成這類磨砂後果呢?

配景為我的桌面
那先上代碼吧:

[StructLayout(LayoutKind.Sequential)] 
public struct MARGINS 
{ 
  public int Left; 
  public int Right; 
  public int Top; 
  public int Bottom; 
} 
 
[DllImport("dwmapi.dll", PreserveSig = false)] 
static extern void DwmExtendFrameIntoClientArea(IntPtr hwnd, ref MARGINS margins); 
 
[DllImport("dwmapi.dll", PreserveSig = false)] 
static extern bool DwmIsCompositionEnabled(); 
 
public Form1() 
{ 
  InitializeComponent(); 
} 
 
protected override void OnLoad(EventArgs e) 
{ 
  if (DwmIsCompositionEnabled()) 
  { 
    MARGINS margins = new MARGINS(); 
    margins.Right = margins.Left = margins.Top = margins.Bottom = this.Width + this.Height; 
    DwmExtendFrameIntoClientArea(this.Handle, ref margins); 
  } 
  base.OnLoad(e); 
} 
 
protected override void OnPaintBackground(PaintEventArgs e) 
{ 
  base.OnPaintBackground(e); 
  if (DwmIsCompositionEnabled()) 
  { 
    e.Graphics.Clear(Color.Black); 
  } 
} 

這中後果的完成重要是挪用了體系的dwmapi.dll。

dwmapi.dll是Microsoft Desktop Window Manager API(桌面窗口治理器DWM 的公用界面)的靜態鏈接庫,正常文件,重要用作桌面後果的api。DWM 是一種新界面,在除 Windows Vista Home Basic 以外的一切 Windows Vista 版本中均供給 DWM 界面。

所以這類後果只能在Vista以後的體系中應用。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved