Windows Aero
Если хотите создать красивый и приятный интерфейс для своей программы то эта статья для вас!
Вот один из примеров использования Aero в Win 7:
И так приступим. Ну конечно создадим новый проект и вставим туда вот этот код:
<StructLayout(LayoutKind.Sequential)> _ Public Structure MARGINS Public Destra As Integer Public Sinistra As Integer Public Su As Integer Public Giu As Integer End Structure Declare Auto Function DwmIsCompositionEnabled Lib "dwmapi.dll" Alias "DwmIsCompositionEnabled" (ByRef pfEnabled As Boolean) As Integer Declare Auto Function DwmExtendFrameIntoClientArea Lib "dwmapi.dll" Alias "DwmExtendFrameIntoClientArea" (ByVal hWnd As IntPtr, ByRef pMargin As MARGINS) As Integer Dim pMargins As New MARGINS With {.Su = -1, .Sinistra = -1, .Destra = -1, .Giu = -1} Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim en As Boolean = False DwmIsCompositionEnabled(en) If en Then DwmExtendFrameIntoClientArea(Me.Handle, pMargins) End If Me.TransparencyKey = Color.FromKnownColor(KnownColor.ActiveCaption) Me.BackColor = Me.TransparencyKey End Sub
Ну вот собственно и всё, можно запускать!
Но что если вам нужно "заполнить" Aero не всю форму а допустим только её верхнею часть?
За это отвечает вот этот участок кода:
Dim pMargins As New MARGINS With {.Su = -1, .Sinistra = -1, .Destra = -1, .Giu = -1}
Мы видим что если всем параметрам присвоено -1, то форма вся становится прозрачной.
Каждый параметр отвечает за свой "отступ" от краев формы:
".Su" - с верху
".Sinistra" - с права
".Destra" - с лева
".Giu" - соответственно с низу
То есть если мы хотим вот так:
То пишем:
Dim pMargins As New MARGINS With {.Su = 25, .Sinistra = 1, .Destra = 1, .Giu = 1}
Ну я надеюсь что все всё поняли, но на всякий случай вот исходник.