返回首页
当前位置: 首页 > VB.NET教程 >

使用VB.NET制作Windows8 MetroUI Form 风格界面

时间:2012-06-05 13:36来源:未知 作者:admin 点击:我要投稿  高质量的ASP.NET空间,完美支持1.0/2.0/3.5/4.0/MVC等


类:WinApi.vb
 

  1. Imports System  
  2. Imports System.Collections.Generic  
  3. Imports System.Text  
  4. Imports System.Runtime.InteropServices  
  5. Public Class WinApi  
  6. #Region "Api"  
  7.     <StructLayout(LayoutKind.Sequential)> _  
  8.     Public Structure RECT  
  9.         Public Left As Integer  
  10.         Public Top As Integer  
  11.         Public Right As Integer  
  12.         Public Bottom As Integer  
  13.     End Structure  
  14.  
  15.     <StructLayout(LayoutKind.Sequential)> _  
  16.     Public Structure NCCALCSIZE_PARAMS  
  17.         Public rect0 As RECT, rect1 As RECT, rect2 As RECT  
  18.         Public lppos As IntPtr  
  19.     End Structure  
  20. #End Region  
  21.  
  22.     Public Enum Win32Messages As UInteger  
  23.         WM_NULL = &H0  
  24.         WM_CREATE = &H1  
  25.         WM_DESTROY = &H2  
  26.         WM_MOVE = &H3  
  27.         WM_SIZE = &H5  
  28.         WM_ACTIVATE = &H6  
  29.         WM_SETFOCUS = &H7  
  30.         WM_KILLFOCUS = &H8  
  31.         WM_ENABLE = &HA  
  32.         WM_SETREDRAW = &HB  
  33.         WM_SETTEXT = &HC  
  34.         WM_GETTEXT = &HD  
  35.         WM_GETTEXTLENGTH = &HE  
  36.         WM_PAINT = &HF  
  37.         WM_CLOSE = &H10  
  38.         WM_QUERYENDSESSION = &H11  
  39.         WM_QUERYOPEN = &H13  
  40.         WM_ENDSESSION = &H16  
  41.         WM_QUIT = &H12  
  42.         WM_ERASEBKGND = &H14  
  43.         WM_SYSCOLORCHANGE = &H15  
  44.         WM_SHOWWINDOW = &H18  
  45.         WM_WININICHANGE = &H1A  
  46.         WM_SETTINGCHANGE = WM_WININICHANGE  
  47.         WM_DEVMODECHANGE = &H1B  
  48.         WM_ACTIVATEAPP = &H1C  
  49.         WM_FONTCHANGE = &H1D  
  50.         WM_TIMECHANGE = &H1E  
  51.         WM_CANCELMODE = &H1F  
  52.         WM_SETCURSOR = &H20  
  53.         WM_MOUSEACTIVATE = &H21  
  54.         WM_CHILDACTIVATE = &H22  
  55.         WM_QUEUESYNC = &H23  
  56.         WM_GETMINMAXINFO = &H24  
  57.         WM_PAINTICON = &H26  
  58.         WM_ICONERASEBKGND = &H27  
  59.         WM_NEXTDLGCTL = &H28  
  60.         WM_SPOOLERSTATUS = &H2A  
  61.         WM_DRAWITEM = &H2B  
  62.         WM_MEASUREITEM = &H2C  
  63.         WM_DELETEITEM = &H2D  
  64.         WM_VKEYTOITEM = &H2E  
  65.         WM_CHARTOITEM = &H2F  
  66.         WM_SETFONT = &H30  
  67.         WM_GETFONT = &H31  
  68.         WM_SETHOTKEY = &H32  
  69.         WM_GETHOTKEY = &H33  
  70.         WM_QUERYDRAGICON = &H37  
  71.         WM_COMPAREITEM = &H39  
  72.         WM_GETOBJECT = &H3D  
  73.         WM_COMPACTING = &H41  
  74.         WM_COMMNOTIFY = &H44  
  75.         WM_WINDOWPOSCHANGING = &H46  
  76.         WM_WINDOWPOSCHANGED = &H47  
  77.         WM_POWER = &H48  
  78.         WM_COPYDATA = &H4A  
  79.         WM_CANCELJOURNAL = &H4B  
  80.         WM_NOTIFY = &H4E  
  81.         WM_INPUTLANGCHANGEREQUEST = &H50  
  82.         WM_INPUTLANGCHANGE = &H51  
  83.         WM_TCARD = &H52  
  84.         WM_HELP = &H53  
  85.         WM_USERCHANGED = &H54  
  86.         WM_NOTIFYFORMAT = &H55  
  87.         WM_CONTEXTMENU = &H7B  
  88.         WM_STYLECHANGING = &H7C  
  89.         WM_STYLECHANGED = &H7D  
  90.         WM_DISPLAYCHANGE = &H7E  
  91.         WM_GETICON = &H7F  
  92.         WM_SETICON = &H80  
  93.         WM_NCCREATE = &H81  
  94.         WM_NCDESTROY = &H82  
  95.         WM_NCCALCSIZE = &H83  
  96.         WM_NCHITTEST = &H84  
  97.         WM_NCPAINT = &H85  
  98.         WM_NCACTIVATE = &H86  
  99.         WM_GETDLGCODE = &H87  
  100.         WM_SYNCPAINT = &H88  
  101.         WM_NCMOUSEMOVE = &HA0  
  102.         WM_NCLBUTTONDOWN = &HA1  
  103.         WM_NCLBUTTONUP = &HA2  
  104.         WM_NCLBUTTONDBLCLK = &HA3  
  105.         WM_NCRBUTTONDOWN = &HA4  
  106.         WM_NCRBUTTONUP = &HA5  
  107.         WM_NCRBUTTONDBLCLK = &HA6  
  108.         WM_NCMBUTTONDOWN = &HA7  
  109.         WM_NCMBUTTONUP = &HA8  
  110.         WM_NCMBUTTONDBLCLK = &HA9  
  111.         WM_NCXBUTTONDOWN = &HAB  
  112.         WM_NCXBUTTONUP = &HAC  
  113.         WM_NCXBUTTONDBLCLK = &HAD  
  114.         WM_INPUT = &HFF  
  115.         WM_KEYFIRST = &H100  
  116.         WM_KEYDOWN = &H100  
  117.         WM_KEYUP = &H101  
  118.         WM_CHAR = &H102  
  119.         WM_DEADCHAR = &H103  
  120.         WM_SYSKEYDOWN = &H104  
  121.         WM_SYSKEYUP = &H105  
  122.         WM_SYSCHAR = &H106  
  123.         WM_SYSDEADCHAR = &H107  
  124.         WM_UNICHAR = &H109  
  125.         WM_KEYLAST = &H108  
  126.         WM_IME_STARTCOMPOSITION = &H10D  
  127.         WM_IME_ENDCOMPOSITION = &H10E  
  128.         WM_IME_COMPOSITION = &H10F  
  129.         WM_IME_KEYLAST = &H10F  
  130.         WM_INITDIALOG = &H110  
  131.         WM_COMMAND = &H111  
  132.         WM_SYSCOMMAND = &H112  
  133.         WM_TIMER = &H113  
  134.         WM_HSCROLL = &H114  
  135.         WM_VSCROLL = &H115  
  136.         WM_INITMENU = &H116  
  137.         WM_INITMENUPOPUP = &H117  
  138.         WM_MENUSELECT = &H11F  
  139.         WM_MENUCHAR = &H120  
  140.         WM_ENTERIDLE = &H121  
  141.         WM_MENURBUTTONUP = &H122  
  142.         WM_MENUDRAG = &H123  
  143.         WM_MENUGETOBJECT = &H124  
  144.         WM_UNINITMENUPOPUP = &H125  
  145.         WM_MENUCOMMAND = &H126  
  146.         WM_CHANGEUISTATE = &H127  
  147.         WM_UPDATEUISTATE = &H128  
  148.         WM_QUERYUISTATE = &H129  
  149.         WM_CTLCOLOR = &H19  
  150.         WM_CTLCOLORMSGBOX = &H132  
  151.         WM_CTLCOLOREDIT = &H133  
  152.         WM_CTLCOLORLISTBOX = &H134  
  153.         WM_CTLCOLORBTN = &H135  
  154.         WM_CTLCOLORDLG = &H136  
  155.         WM_CTLCOLORSCROLLBAR = &H137  
  156.         WM_CTLCOLORSTATIC = &H138  
  157.         WM_MOUSEFIRST = &H200  
  158.         WM_MOUSEMOVE = &H200  
  159.         WM_LBUTTONDOWN = &H201  
  160.         WM_LBUTTONUP = &H202  
  161.         WM_LBUTTONDBLCLK = &H203  
  162.         WM_RBUTTONDOWN = &H204  
  163.         WM_RBUTTONUP = &H205  
  164.         WM_RBUTTONDBLCLK = &H206  
  165.         WM_MBUTTONDOWN = &H207  
  166.         WM_MBUTTONUP = &H208  
  167.         WM_MBUTTONDBLCLK = &H209  
  168.         WM_MOUSEWHEEL = &H20A  
  169.         WM_XBUTTONDOWN = &H20B  
  170.         WM_XBUTTONUP = &H20C  
  171.         WM_XBUTTONDBLCLK = &H20D  
  172.         WM_MOUSELAST = &H20D  
  173.         WM_PARENTNOTIFY = &H210  
  174.         WM_ENTERMENULOOP = &H211  
  175.         WM_EXITMENULOOP = &H212  
  176.         WM_NEXTMENU = &H213  
  177.         WM_SIZING = &H214  
  178.         WM_CAPTURECHANGED = &H215  
  179.         WM_MOVING = &H216  
  180.         WM_POWERBROADCAST = &H218  
  181.         WM_DEVICECHANGE = &H219  
  182.         WM_MDICREATE = &H220  
  183.         WM_MDIDESTROY = &H221  
  184.         WM_MDIACTIVATE = &H222  
  185.         WM_MDIRESTORE = &H223  
  186.         WM_MDINEXT = &H224  
  187.         WM_MDIMAXIMIZE = &H225  
  188.         WM_MDITILE = &H226  
  189.         WM_MDICASCADE = &H227  
  190.         WM_MDIICONARRANGE = &H228  
  191.         WM_MDIGETACTIVE = &H229  
  192.         WM_MDISETMENU = &H230  
  193.         WM_ENTERSIZEMOVE = &H231  
  194.         WM_EXITSIZEMOVE = &H232  
  195.         WM_DROPFILES = &H233  
  196.         WM_MDIREFRESHMENU = &H234  
  197.         WM_IME_SETCONTEXT = &H281  
  198.         WM_IME_NOTIFY = &H282  
  199.         WM_IME_CONTROL = &H283  
  200.         WM_IME_COMPOSITIONFULL = &H284  
  201.         WM_IME_SELECT = &H285  
  202.         WM_IME_CHAR = &H286  
  203.         WM_IME_REQUEST = &H288  
  204.         WM_IME_KEYDOWN = &H290  
  205.         WM_IME_KEYUP = &H291  
  206.         WM_MOUSEHOVER = &H2A1  
  207.         WM_MOUSELEAVE = &H2A3  
  208.         WM_NCMOUSELEAVE = &H2A2  
  209.         WM_WTSSESSION_CHANGE = &H2B1  
  210.         WM_TABLET_FIRST = &H2C0  
  211.         WM_TABLET_LAST = &H2DF  
  212.         WM_CUT = &H300  
  213.         WM_COPY = &H301  
  214.         WM_PASTE = &H302  
  215.         WM_CLEAR = &H303  
  216.         WM_UNDO = &H304  
  217.         WM_RENDERFORMAT = &H305  
  218.         WM_RENDERALLFORMATS = &H306  
  219.         WM_DESTROYCLIPBOARD = &H307  
  220.         WM_DRAWCLIPBOARD = &H308  
  221.         WM_PAINTCLIPBOARD = &H309  
  222.         WM_VSCROLLCLIPBOARD = &H30A  
  223.         WM_SIZECLIPBOARD = &H30B  
  224.         WM_ASKCBFORMATNAME = &H30C  
  225.         WM_CHANGECBCHAIN = &H30D  
  226.         WM_HSCROLLCLIPBOARD = &H30E  
  227.         WM_QUERYNEWPALETTE = &H30F  
  228.         WM_PALETTEISCHANGING = &H310  
  229.         WM_PALETTECHANGED = &H311  
  230.         WM_HOTKEY = &H312  
  231.         WM_PRINT = &H317  
  232.         WM_PRINTCLIENT = &H318  
  233.         WM_APPCOMMAND = &H319  
  234.         WM_THEMECHANGED = &H31A  
  235.         WM_HANDHELDFIRST = &H358  
  236.         WM_HANDHELDLAST = &H35F  
  237.         WM_AFXFIRST = &H360  
  238.         WM_AFXLAST = &H37F  
  239.         WM_PENWINFIRST = &H380  
  240.         WM_PENWINLAST = &H38F  
  241.         WM_USER = &H400  
  242.         WM_REFLECT = &H2000  
  243.         WM_APP = &H8000  
  244.     End Enum  
  245. End Class  

类:Dwm.vb
 

 

  1. Imports System  
  2. Imports System.Collections.Generic  
  3. Imports System.Text  
  4. Imports System.Runtime.InteropServices  
  5. Imports System.Drawing  
  6. Public Class Dwm  
  7.     <StructLayout(LayoutKind.Explicit)> _  
  8.         Public Structure RECT  
  9.         ' Fields  
  10.         <FieldOffset(12)> _  
  11.         Public bottom As Integer  
  12.         <FieldOffset(0)> _  
  13.         Public left As Integer  
  14.         <FieldOffset(8)> _  
  15.         Public right As Integer  
  16.         <FieldOffset(4)> _  
  17.         Public top As Integer  
  18.         Public Sub New(ByVal rect As Rectangle)  
  19.             Me.left = rect.Left  
  20.             Me.top = rect.Top  
  21.             Me.right = rect.Right  
  22.             Me.bottom = rect.Bottom  
  23.         End Sub  
  24.  
  25.         Public Sub New(ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer)  
  26.             Me.left = left  
  27.             Me.top = top  
  28.             Me.right = right  
  29.             Me.bottom = bottom  
  30.         End Sub  
  31.  
  32.         Public Sub [Set]()  
  33.             Me.left = InlineAssignHelper(Me.top, InlineAssignHelper(Me.right, InlineAssignHelper(Me.bottom, 0)))  
  34.         End Sub  
  35.  
  36.         Public Sub [Set](ByVal rect As Rectangle)  
  37.             Me.left = rect.Left  
  38.             Me.top = rect.Top  
  39.             Me.right = rect.Right  
  40.             Me.bottom = rect.Bottom  
  41.         End Sub  
  42.  
  43.         Public Sub [Set](ByVal left As Integer, ByVal top As Integer, ByVal right As Integer, ByVal bottom As Integer)  
  44.             Me.left = left  
  45.             Me.top = top  
  46.             Me.right = right  
  47.             Me.bottom = bottom  
  48.         End Sub  
  49.  
  50.         Public Function ToRectangle() As Rectangle  
  51.             Return New Rectangle(Me.left, Me.top, Me.right - Me.left, Me.bottom - Me.top)  
  52.         End Function  
  53.  
  54.         ' Properties  
  55.         Public ReadOnly Property Height() As Integer  
  56.             Get  
  57.                 Return (Me.bottom - Me.top)  
  58.             End Get  
  59.         End Property  
  60.  
  61.         Public ReadOnly Property Size() As SIZE  
  62.             Get  
  63.                 Return New Size(Me.Width, Me.Height)  
  64.             End Get  
  65.         End Property  
  66.  
  67.         Public ReadOnly Property Width() As Integer  
  68.             Get  
  69.                 Return (Me.right - Me.left)  
  70.             End Get  
  71.         End Property  
  72.         Private Shared Function InlineAssignHelper(Of T)(ByRef target As T, ByVal value As T) As T  
  73.             target = value  
  74.             Return value  
  75.         End Function  
  76.     End Structure  
  77.  
  78.     Public Const DWM_BB_BLURREGION As Integer = 2  
  79.     Public Const DWM_BB_ENABLE As Integer = 1  
  80.     Public Const DWM_BB_TRANSITIONONMAXIMIZED As Integer = 4  
  81.     Public Const DWM_COMPOSED_EVENT_BASE_NAME As String = "DwmComposedEvent_" 
  82.     Public Const DWM_COMPOSED_EVENT_NAME_FORMAT As String = "%s%d" 
  83.     Public Const DWM_COMPOSED_EVENT_NAME_MAX_LENGTH As Integer = &H40  
  84.     Public Const DWM_FRAME_DURATION_DEFAULT As Integer = -1  
  85.     Public Const DWM_TNP_OPACITY As Integer = 4  
  86.     Public Const DWM_TNP_RECTDESTINATION As Integer = 1  
  87.     Public Const DWM_TNP_RECTSOURCE As Integer = 2  
  88.     Public Const DWM_TNP_SOURCECLIENTAREAONLY As Integer = &H10  
  89.     Public Const DWM_TNP_VISIBLE As Integer = 8  
  90.     Public Shared ReadOnly DwmApiAvailable As Boolean = (Environment.OSVersion.Version.Major >= 6)  
  91.     Public Const WM_DWMCOMPOSITIONCHANGED As Integer = &H31E  
  92.  
  93.     <DllImport("dwmapi.dll")> _  
  94.     Public Shared Function DwmDefWindowProc(ByVal hwnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr, ByRef result As IntPtr) As Integer  
  95.     End Function  
  96.     <DllImport("dwmapi.dll")> _  
  97.     Public Shared Function DwmEnableComposition(ByVal fEnable As Integer) As Integer  
  98.     End Function  
  99.     <DllImport("dwmapi.dll")> _  
  100.     Public Shared Function DwmEnableMMCSS(ByVal fEnableMMCSS As Integer) As Integer  
  101.     End Function  
  102.     <DllImport("dwmapi.dll")> _  
  103.     Public Shared Function DwmExtendFrameIntoClientArea(ByVal hdc As IntPtr, ByRef marInset As MARGINS) As Integer  
  104.     End Function  
  105.     <DllImport("dwmapi.dll")> _  
  106.     Public Shared Function DwmGetColorizationColor(ByRef pcrColorization As Integer, ByRef pfOpaqueBlend As Integer) As Integer  
  107.     End Function  
  108.     <DllImport("dwmapi.dll")> _  
  109.     Public Shared Function DwmGetCompositionTimingInfo(ByVal hwnd As IntPtr, ByRef pTimingInfo As DWM_TIMING_INFO) As Integer  
  110.     End Function  
  111.     <DllImport("dwmapi.dll")> _  
  112.     Public Shared Function DwmGetWindowAttribute(ByVal hwnd As IntPtr, ByVal dwAttribute As Integer, ByVal pvAttribute As IntPtr, ByVal cbAttribute As Integer) As Integer  
  113.     End Function  
  114.     <DllImport("dwmapi.dll")> _  
  115.     Public Shared Function DwmIsCompositionEnabled(ByRef pfEnabled As Integer) As Integer  
  116.     End Function  
  117.     <DllImport("dwmapi.dll")> _  
  118.     Public Shared Function DwmModifyPreviousDxFrameDuration(ByVal hwnd As IntPtr, ByVal cRefreshes As Integer, ByVal fRelative As Integer) As Integer  
  119.     End Function  
  120.     <DllImport("dwmapi.dll")> _  
  121.     Public Shared Function DwmQueryThumbnailSourceSize(ByVal hThumbnail As IntPtr, ByRef pSize As Size) As Integer  
  122.     End Function  
  123.     <DllImport("dwmapi.dll")> _  
  124.     Public Shared Function DwmRegisterThumbnail(ByVal hwndDestination As IntPtr, ByVal hwndSource As IntPtr, ByRef pMinimizedSize As Size, ByRef phThumbnailId As IntPtr) As Integer  
  125.     End Function  
  126.     <DllImport("dwmapi.dll")> _  
  127.     Public Shared Function DwmSetDxFrameDuration(ByVal hwnd As IntPtr, ByVal cRefreshes As Integer) As Integer  
  128.     End Function  
  129.     <DllImport("dwmapi.dll")> _  
  130.     Public Shared Function DwmSetPresentParameters(ByVal hwnd As IntPtr, ByRef pPresentParams As DWM_PRESENT_PARAMETERS) As Integer  
  131.     End Function  
  132.     <DllImport("dwmapi.dll")> _  
  133.     Public Shared Function DwmSetWindowAttribute(ByVal hwnd As IntPtr, ByVal dwAttribute As Integer, ByVal pvAttribute As IntPtr, ByVal cbAttribute As Integer) As Integer  
  134.     End Function  
  135.     <DllImport("dwmapi.dll")> _  
  136.     Public Shared Function DwmUnregisterThumbnail(ByVal hThumbnailId As IntPtr) As Integer  
  137.     End Function  
  138.     <DllImport("dwmapi.dll")> _  
  139.     Public Shared Function DwmUpdateThumbnailProperties(ByVal hThumbnailId As IntPtr, ByRef ptnProperties As DWM_THUMBNAIL_PROPERTIES) As Integer  
  140.     End Function  
  141.  <StructLayout(LayoutKind.Sequential)> _  
  142.     Public Structure DWM_BLURBEHIND  
  143.         Public dwFlags As Integer  
  144.         Public fEnable As Integer  
  145.         Public hRgnBlur As IntPtr  
  146.         Public fTransitionOnMaximized As Integer  
  147.     End Structure  
  148.  
  149.     <StructLayout(LayoutKind.Sequential)> _  
  150.     Public Structure DWM_PRESENT_PARAMETERS  
  151.         Public cbSize As Integer  
  152.         Public fQueue As Integer  
  153.         Public cRefreshStart As Long  
  154.         Public cBuffer As Integer  
  155.         Public fUseSourceRate As Integer  
  156.         Public rateSource As UNSIGNED_RATIO  
  157.         Public cRefreshesPerFrame As Integer  
  158.         Public eSampling As DWM_SOURCE_FRAME_SAMPLING  
  159.     End Structure  
  160.  
  161.     Public Enum DWM_SOURCE_FRAME_SAMPLING  
  162.         DWM_SOURCE_FRAME_SAMPLING_POINT  
  163.         DWM_SOURCE_FRAME_SAMPLING_COVERAGE  
  164.         DWM_SOURCE_FRAME_SAMPLING_LAST  
  165.     End Enum  
  166.  
  167.     <StructLayout(LayoutKind.Sequential)> _  
  168.     Public Structure DWM_THUMBNAIL_PROPERTIES  
  169.         Public dwFlags As Integer  
  170.         Public rcDestination As RECT  
  171.         Public rcSource As RECT  
  172.         Public opacity As Byte  
  173.         Public fVisible As Integer  
  174.         Public fSourceClientAreaOnly As Integer  
  175.     End Structure  
  176.  
  177.     <StructLayout(LayoutKind.Sequential)> _  
  178.     Public Structure DWM_TIMING_INFO  
  179.         Public cbSize As Integer  
  180.         Public rateRefresh As UNSIGNED_RATIO  
  181.         Public rateCompose As UNSIGNED_RATIO  
  182.         Public qpcVBlank As Long  
  183.         Public cRefresh As Long  
  184.         Public qpcCompose As Long  
  185.         Public cFrame As Long  
  186.         Public cRefreshFrame As Long  
  187.         Public cRefreshConfirmed As Long  
  188.         Public cFlipsOutstanding As Integer  
  189.         Public cFrameCurrent As Long  
  190.         Public cFramesAvailable As Long  
  191.         Public cFrameCleared As Long  
  192.         Public cFramesReceived As Long  
  193.         Public cFramesDisplayed As Long  
  194.         Public cFramesDropped As Long  
  195.         Public cFramesMissed As Long  
  196.     End Structure  
  197.  
  198.     Public Enum DWMNCRENDERINGPOLICY  
  199.         DWMNCRP_USEWINDOWSTYLE  
  200.         DWMNCRP_DISABLED  
  201.         DWMNCRP_ENABLED  
  202.     End Enum  
  203.  
  204.     Public Enum DWMWINDOWATTRIBUTE  
  205.         DWMWA_ALLOW_NCPAINT = 4  
  206.         DWMWA_CAPTION_BUTTON_BOUNDS = 5  
  207.         DWMWA_FLIP3D_POLICY = 8  
  208.         DWMWA_FORCE_ICONIC_REPRESENTATION = 7  
  209.         DWMWA_LAST = 9  
  210.         DWMWA_NCRENDERING_ENABLED = 1  
  211.         DWMWA_NCRENDERING_POLICY = 2  
  212.         DWMWA_NONCLIENT_RTL_LAYOUT = 6  
  213.         DWMWA_TRANSITIONS_FORCEDISABLED = 3  
  214.     End Enum  
  215.  
  216.     <StructLayout(LayoutKind.Sequential)> _  
  217.     Public Structure UNSIGNED_RATIO  
  218.         Public uiNumerator As Integer  
  219.         Public uiDenominator As Integer  
  220.     End Structure  
  221.  
  222.  
  223.  
  224.     <StructLayout(LayoutKind.Sequential)> _  
  225.     Public Structure MARGINS  
  226.         Public cxLeftWidth As Integer  
  227.         Public cxRightWidth As Integer  
  228.         Public cyTopHeight As Integer  
  229.         Public cyBottomHeight As Integer  
  230.         Public Sub New(ByVal Left As Integer, ByVal Right As Integer, ByVal Top As Integer, ByVal Bottom As Integer)  
  231.             Me.cxLeftWidth = Left  
  232.             Me.cxRightWidth = Right  
  233.             Me.cyTopHeight = Top  
  234.             Me.cyBottomHeight = Bottom  
  235.         End Sub  
  236.     End Structure  
  237.  
  238.     Public Shared WTNCA_NODRAWCAPTION As UInteger = &H1  
  239.     Public Shared WTNCA_NODRAWICON As UInteger = &H2  
  240.     Public Shared WTNCA_NOSYSMENU As UInteger = &H4  
  241.     Public Shared WTNCA_NOMIRRORHELP As UInteger = &H8  
  242.  
  243.     <StructLayout(LayoutKind.Sequential)> _  
  244.     Public Structure WTA_OPTIONS  
  245.         Public Flags As UInteger  
  246.         Public Mask As UInteger  
  247.     End Structure  
  248.  
  249.     Public Enum WindowThemeAttributeType  
  250.         WTA_NONCLIENT = 1  
  251.     End Enum  
  252.  
  253.     <DllImport("UxTheme.dll")> _  
  254.     Public Shared Function SetWindowThemeAttribute(ByVal hWnd As IntPtr, ByVal wtype As WindowThemeAttributeType, ByRef attributes As WTA_OPTIONS, ByVal size As UInteger) As Integer  
  255.     End Function  
  256. End Class 

 

本站推荐文章:
本站热点文章:
顶一下
(0)
0%
踩一下
(2)
100%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色 情、暴力、反动的言论。
评价:
表情:
用户名:密码: 验证码:点击我更换图片