Уроки Visual Basic.NET
Написать комментарий 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}
Ну я надеюсь что все всё поняли, но на всякий случай вот исходник.


Метки:
Gemorg
Просмотров: 4 873
Запись опубликована в 15:33

