|
' Copyright (c) 2006, Gustavo Franco
' Copyright � Decebal Mihailescu 2007-2010
' Email: gustavo_franco@hotmail.com
' All rights reserved.
' Redistribution and use in source and binary forms, with or without modification,
' are permitted provided that the following conditions are met:
' Redistributions of source code must retain the above copyright notice,
' this list of conditions and the following disclaimer.
' Redistributions in binary form must reproduce the above copyright notice,
' this list of conditions and the following disclaimer in the documentation
' and/or other materials provided with the distribution.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
' KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
' IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
' PURPOSE. IT CAN BE DISTRIBUTED FREE OF CHARGE AS LONG AS THIS HEADER
' REMAINS UNCHANGED.
Imports Microsoft.VisualBasic
Imports System
Imports System.Text
Imports System.Collections.Generic
Imports System.Runtime.InteropServices
Imports FileDialogExtenders
Namespace Win32Types
#Region "SWP_Flags"
<Flags> _
Friend Enum SWP_Flags
SWP_NOSIZE = &H0001
SWP_NOMOVE = &H0002
SWP_NOZORDER = &H0004
SWP_NOACTIVATE = &H0010
SWP_FRAMECHANGED = &H0020 ' The frame changed: send WM_NCCALCSIZE
SWP_SHOWWINDOW = &H0040
SWP_HIDEWINDOW = &H0080
SWP_NOOWNERZORDER = &H0200 ' Don't do owner Z ordering
SWP_DRAWFRAME = SWP_FRAMECHANGED
SWP_NOREPOSITION = SWP_NOOWNERZORDER
End Enum
#End Region
#Region "DialogChangeStatus"
Friend Enum DialogChangeStatus As UInteger
CDN_FIRST = &HFFFFFDA7L
CDN_INITDONE = (CDN_FIRST - &H0000)
CDN_SELCHANGE = (CDN_FIRST - &H0001)
CDN_FOLDERCHANGE = (CDN_FIRST - &H0002)
CDN_SHAREVIOLATION = (CDN_FIRST - &H0003)
CDN_HELP = (CDN_FIRST - &H0004)
CDN_FILEOK = (CDN_FIRST - &H0005)
CDN_TYPECHANGE = (CDN_FIRST - &H0006)
CDN_INCLUDEITEM = (CDN_FIRST - &H0007)
End Enum
#End Region
#Region "DialogChangeProperties"
Friend Enum DialogChangeProperties As UInteger
CDM_FIRST = (CUInt(Msg.WM_USER) + 100)
CDM_GETSPEC = (CDM_FIRST + &H0000)
CDM_GETFILEPATH = (CDM_FIRST + &H0001)
CDM_GETFOLDERPATH = (CDM_FIRST + &H0002)
CDM_GETFOLDERIDLIST = (CDM_FIRST + &H0003)
CDM_SETCONTROLTEXT = (CDM_FIRST + &H0004)
CDM_HIDECONTROL = (CDM_FIRST + &H0005)
CDM_SETDEFEXT = (CDM_FIRST + &H0006)
End Enum
#End Region
#Region "ListView"
Friend Enum ListViewMsg As UInteger
LVM_FIRST = &H1000
LVM_GETHEADER = LVM_FIRST + 31
LVM_SETITEM = LVM_FIRST + 76
LVM_INSERTITEM = LVM_FIRST + 77
End Enum
#End Region
#Region "ImeNotify"
Friend Enum ImeNotify
IMN_CLOSESTATUSWINDOW = &H0001
IMN_OPENSTATUSWINDOW = &H0002
IMN_CHANGECANDIDATE = &H0003
IMN_CLOSECANDIDATE = &H0004
IMN_OPENCANDIDATE = &H0005
IMN_SETCONVERSIONMODE = &H0006
IMN_SETSENTENCEMODE = &H0007
IMN_SETOPENSTATUS = &H0008
IMN_SETCANDIDATEPOS = &H0009
IMN_SETCOMPOSITIONFONT = &H000A
IMN_SETCOMPOSITIONWINDOW = &H000B
IMN_SETSTATUSWINDOWPOS = &H000C
IMN_GUIDELINE = &H000D
IMN_PRIVATE = &H000E
End Enum
#End Region
#Region "FileDialogType"
Public Enum FileDialogType
OpenFileDlg
SaveFileDlg
End Enum
#End Region
#Region "FolderViewMode"
Public Enum FolderViewMode
Defaultm = &H7028
Icon = Defaultm + 1
SmallIcon = Defaultm + 2
List = Defaultm + 3
Details = Defaultm + 4
Thumbnails = Defaultm + 5
Title = Defaultm + 6
Thumbstrip = Defaultm + 7
End Enum
#End Region
#Region "Enum DialogViewProperty"
Friend Enum DefaultViewType
Icons = &H7029
List = &H702b
Details = &H702c
Thumbnails = &H702d
Tiles = &H702e
End Enum
#End Region
#Region "ButtonStyle"
Friend Enum ButtonStyle As UInteger
BS_PUSHBUTTON = &H00000000
BS_DEFPUSHBUTTON = &H00000001
BS_CHECKBOX = &H00000002
BS_AUTOCHECKBOX = &H00000003
BS_RADIOBUTTON = &H00000004
BS_3STATE = &H00000005
BS_AUTO3STATE = &H00000006
BS_GROUPBOX = &H00000007
BS_USERBUTTON = &H00000008
BS_AUTORADIOBUTTON= &H00000009
BS_PUSHBOX = &H0000000A
BS_OWNERDRAW = &H0000000B
BS_TYPEMASK = &H0000000F
BS_LEFTTEXT = &H00000020
BS_TEXT = &H00000000
BS_ICON = &H00000040
BS_BITMAP = &H00000080
BS_LEFT = &H00000100
BS_RIGHT = &H00000200
BS_CENTER = &H00000300
BS_TOP = &H00000400
BS_BOTTOM = &H00000800
BS_VCENTER = &H00000C00
BS_PUSHLIKE = &H00001000
BS_MULTILINE = &H00002000
BS_NOTIFY = &H00004000
BS_FLAT = &H00008000
BS_RIGHTBUTTON = BS_LEFTTEXT
End Enum
#End Region
#Region "ZOrderPos"
Friend Enum ZOrderPos
HWND_TOP = 0
HWND_BOTTOM = 1
HWND_TOPMOST = -1
HWND_NOTOPMOST = -2
End Enum
#End Region
#Region "Static Control Styles"
Friend Enum StaticControlStyles As UInteger
SS_LEFT = &H00000000
SS_CENTER = &H00000001
SS_RIGHT = &H00000002
SS_ICON = &H00000003
SS_BLACKRECT = &H00000004
SS_GRAYRECT = &H00000005
SS_WHITERECT = &H00000006
SS_BLACKFRAME = &H00000007
SS_GRAYFRAME = &H00000008
SS_WHITEFRAME = &H00000009
SS_USERITEM = &H0000000A
SS_SIMPLE = &H0000000B
SS_LEFTNOWORDWRAP = &H0000000C
SS_OWNERDRAW = &H0000000D
SS_BITMAP = &H0000000E
SS_ENHMETAFILE = &H0000000F
SS_ETCHEDHORZ = &H00000010
SS_ETCHEDVERT = &H00000011
SS_ETCHEDFRAME = &H00000012
SS_TYPEMASK = &H0000001F
SS_REALSIZECONTROL = &H00000040
SS_NOPREFIX = &H00000080 ' Don't do "&" character translation
SS_NOTIFY = &H00000100
SS_CENTERIMAGE = &H00000200
SS_RIGHTJUST = &H00000400
SS_REALSIZEIMAGE = &H00000800
SS_SUNKEN = &H00001000
SS_EDITCONTROL = &H00002000
SS_ENDELLIPSIS = &H00004000
SS_PATHELLIPSIS = &H00008000
SS_WORDELLIPSIS = &H0000C000
SS_ELLIPSISMASK = &H0000C000
End Enum
#End Region
#Region "Combo Box styles"
Friend Enum ComboBoxStyles As UInteger
None = 0
CBS_SIMPLE = &H0001
CBS_DROPDOWN = &H0002
CBS_DROPDOWNLIST = &H0003
CBS_OWNERDRAWFIXED = &H0010
CBS_OWNERDRAWVARIABLE = &H0020
CBS_AUTOHSCROLL = &H0040
CBS_OEMCONVERT = &H0080
CBS_SORT = &H0100
CBS_HASSTRINGS = &H0200
CBS_NOINTEGRALHEIGHT = &H0400
CBS_DISABLENOSCROLL = &H0800
CBS_UPPERCASE = &H2000
CBS_LOWERCASE = &H4000
End Enum
#End Region
#Region "Window Styles"
<Flags> _
Friend Enum WindowStyles As UInteger
WS_OVERLAPPED = &H00000000
WS_POPUP = &H80000000L
WS_CHILD = &H40000000
WS_MINIMIZE = &H20000000
WS_VISIBLE = &H10000000
WS_DISABLED = &H08000000
WS_CLIPSIBLINGS = &H04000000
WS_CLIPCHILDREN = &H02000000
WS_MAXIMIZE = &H01000000
WS_CAPTION = &H00C00000
WS_BORDER = &H00800000
WS_DLGFRAME = &H00400000
WS_VSCROLL = &H00200000
WS_HSCROLL = &H00100000
WS_SYSMENU = &H00080000
WS_THICKFRAME = &H00040000
WS_GROUP = &H00020000
WS_TABSTOP = &H00010000
WS_MINIMIZEBOX = &H00020000
WS_MAXIMIZEBOX = &H00010000
WS_TILED = &H00000000
WS_ICONIC = &H20000000
WS_SIZEBOX = &H00040000
WS_POPUPWINDOW = &H80880000L
WS_OVERLAPPEDWINDOW = &H00CF0000
WS_TILEDWINDOW = &H00CF0000
WS_CHILDWINDOW = &H40000000
End Enum
#End Region
#Region "Window Extended Styles"
<Flags> _
Friend Enum WindowExtendedStyles
WS_EX_DLGMODALFRAME = &H00000001
WS_EX_NOPARENTNOTIFY = &H00000004
WS_EX_TOPMOST = &H00000008
WS_EX_ACCEPTFILES = &H00000010
WS_EX_TRANSPARENT = &H00000020
WS_EX_MDICHILD = &H00000040
WS_EX_TOOLWINDOW = &H00000080
WS_EX_WINDOWEDGE = &H00000100
WS_EX_CLIENTEDGE = &H00000200
WS_EX_CONTEXTHELP = &H00000400
WS_EX_RIGHT = &H00001000
WS_EX_LEFT = &H00000000
WS_EX_RTLREADING = &H00002000
WS_EX_LTRREADING = &H00000000
WS_EX_LEFTSCROLLBAR = &H00004000
WS_EX_RIGHTSCROLLBAR = &H00000000
WS_EX_CONTROLPARENT = &H00010000
WS_EX_STATICEDGE = &H00020000
WS_EX_APPWINDOW = &H00040000
WS_EX_OVERLAPPEDWINDOW = &H00000300
WS_EX_PALETTEWINDOW = &H00000188
WS_EX_LAYERED = &H00080000
End Enum
#End Region
#Region "ChildFromPointFlags"
<Flags> _
Friend Enum ChildFromPointFlags
None = &H0000
CWP_SKIPINVISIBLE = &H0001
CWP_SKIPDISABLED = &H0002
CWP_SKIPTRANSPARENT = &H0004
End Enum
#End Region
#Region "HitTest"
Friend Enum HitTest
HTERROR = (-2)
HTTRANSPARENT = (-1)
HTNOWHERE = 0
HTCLIENT = 1
HTCAPTION = 2
HTSYSMENU = 3
HTGROWBOX = 4
HTSIZE = HTGROWBOX
HTMENU = 5
HTHSCROLL = 6
HTVSCROLL = 7
HTMINBUTTON = 8
HTMAXBUTTON = 9
HTLEFT = 10
HTRIGHT = 11
HTTOP = 12
HTTOPLEFT = 13
HTTOPRIGHT = 14
HTBOTTOM = 15
HTBOTTOMLEFT = 16
HTBOTTOMRIGHT = 17
HTBORDER = 18
HTREDUCE = HTMINBUTTON
HTZOOM = HTMAXBUTTON
HTSIZEFIRST = HTLEFT
HTSIZELAST = HTBOTTOMRIGHT
HTOBJECT = 19
HTCLOSE = 20
HTHELP = 21
End Enum
#End Region
#Region "Windows Messages"
Friend Enum Msg
WM_NULL = &H0000
WM_CREATE = &H0001
WM_DESTROY = &H0002
WM_MOVE = &H0003
WM_SIZE = &H0005
WM_ACTIVATE = &H0006
WM_SETFOCUS = &H0007
WM_KILLFOCUS = &H0008
WM_ENABLE = &H000A
WM_SETREDRAW = &H000B
WM_SETTEXT = &H000C
WM_GETTEXT = &H000D
WM_GETTEXTLENGTH = &H000E
WM_PAINT = &H000F
WM_CLOSE = &H0010
WM_QUERYENDSESSION = &H0011
WM_QUIT = &H0012
WM_QUERYOPEN = &H0013
WM_ERASEBKGND = &H0014
WM_SYSCOLORCHANGE = &H0015
WM_ENDSESSION = &H0016
WM_SHOWWINDOW = &H0018
WM_CTLCOLOR = &H0019
WM_WININICHANGE = &H001A
WM_SETTINGCHANGE = &H001A
WM_DEVMODECHANGE = &H001B
WM_ACTIVATEAPP = &H001C
WM_FONTCHANGE = &H001D
WM_TIMECHANGE = &H001E
WM_CANCELMODE = &H001F
WM_SETCURSOR = &H0020
WM_MOUSEACTIVATE = &H0021
WM_CHILDACTIVATE = &H0022
WM_QUEUESYNC = &H0023
WM_GETMINMAXINFO = &H0024
WM_PAINTICON = &H0026
WM_ICONERASEBKGND = &H0027
WM_NEXTDLGCTL = &H0028
WM_SPOOLERSTATUS = &H002A
WM_DRAWITEM = &H002B
WM_MEASUREITEM = &H002C
WM_DELETEITEM = &H002D
WM_VKEYTOITEM = &H002E
WM_CHARTOITEM = &H002F
WM_SETFONT = &H0030
WM_GETFONT = &H0031
WM_SETHOTKEY = &H0032
WM_GETHOTKEY = &H0033
WM_QUERYDRAGICON = &H0037
WM_COMPAREITEM = &H0039
WM_GETOBJECT = &H003D
WM_COMPACTING = &H0041
WM_COMMNOTIFY = &H0044
WM_WINDOWPOSCHANGING = &H0046
WM_WINDOWPOSCHANGED = &H0047
WM_POWER = &H0048
WM_COPYDATA = &H004A
WM_CANCELJOURNAL = &H004B
WM_NOTIFY = &H004E
WM_INPUTLANGCHANGEREQUEST = &H0050
WM_INPUTLANGCHANGE = &H0051
WM_TCARD = &H0052
WM_HELP = &H0053
WM_USERCHANGED = &H0054
WM_NOTIFYFORMAT = &H0055
WM_CONTEXTMENU = &H007B
WM_STYLECHANGING = &H007C
WM_STYLECHANGED = &H007D
WM_DISPLAYCHANGE = &H007E
WM_GETICON = &H007F
WM_SETICON = &H0080
WM_NCCREATE = &H0081
WM_NCDESTROY = &H0082
WM_NCCALCSIZE = &H0083
WM_NCHITTEST = &H0084
WM_NCPAINT = &H0085
WM_NCACTIVATE = &H0086
WM_GETDLGCODE = &H0087
WM_SYNCPAINT = &H0088
WM_NCMOUSEMOVE = &H00A0
WM_NCLBUTTONDOWN = &H00A1
WM_NCLBUTTONUP = &H00A2
WM_NCLBUTTONDBLCLK = &H00A3
WM_NCRBUTTONDOWN = &H00A4
WM_NCRBUTTONUP = &H00A5
WM_NCRBUTTONDBLCLK = &H00A6
WM_NCMBUTTONDOWN = &H00A7
WM_NCMBUTTONUP = &H00A8
WM_NCMBUTTONDBLCLK = &H00A9
WM_NCXBUTTONDOWN = &H00AB
WM_NCXBUTTONUP = &H00AC
WM_NCXBUTTONDBLCLK = &H00AD
WM_KEYDOWN = &H0100
WM_KEYUP = &H0101
WM_CHAR = &H0102
WM_DEADCHAR = &H0103
WM_SYSKEYDOWN = &H0104
WM_SYSKEYUP = &H0105
WM_SYSCHAR = &H0106
WM_SYSDEADCHAR = &H0107
WM_KEYLAST = &H0108
WM_IME_STARTCOMPOSITION = &H010D
WM_IME_ENDCOMPOSITION = &H010E
WM_IME_COMPOSITION = &H010F
WM_IME_KEYLAST = &H010F
WM_INITDIALOG = &H0110
WM_COMMAND = &H0111
WM_SYSCOMMAND = &H0112
WM_TIMER = &H0113
WM_HSCROLL = &H0114
WM_VSCROLL = &H0115
WM_INITMENU = &H0116
WM_INITMENUPOPUP = &H0117
WM_MENUSELECT = &H011F
WM_MENUCHAR = &H0120
WM_ENTERIDLE = &H0121
WM_MENURBUTTONUP = &H0122
WM_MENUDRAG = &H0123
WM_MENUGETOBJECT = &H0124
WM_UNINITMENUPOPUP = &H0125
WM_MENUCOMMAND = &H0126
WM_CTLCOLORMSGBOX = &H0132
WM_CTLCOLOREDIT = &H0133
WM_CTLCOLORLISTBOX = &H0134
WM_CTLCOLORBTN = &H0135
WM_CTLCOLORDLG = &H0136
WM_CTLCOLORSCROLLBAR = &H0137
WM_CTLCOLORSTATIC = &H0138
WM_MOUSEMOVE = &H0200
WM_LBUTTONDOWN = &H0201
WM_LBUTTONUP = &H0202
WM_LBUTTONDBLCLK = &H0203
WM_RBUTTONDOWN = &H0204
WM_RBUTTONUP = &H0205
WM_RBUTTONDBLCLK = &H0206
WM_MBUTTONDOWN = &H0207
WM_MBUTTONUP = &H0208
WM_MBUTTONDBLCLK = &H0209
WM_MOUSEWHEEL = &H020A
WM_XBUTTONDOWN = &H020B
WM_XBUTTONUP = &H020C
WM_XBUTTONDBLCLK = &H020D
WM_PARENTNOTIFY = &H0210
WM_ENTERMENULOOP = &H0211
WM_EXITMENULOOP = &H0212
WM_NEXTMENU = &H0213
WM_SIZING = &H0214
WM_CAPTURECHANGED = &H0215
WM_MOVING = &H0216
WM_DEVICECHANGE = &H0219
WM_MDICREATE = &H0220
WM_MDIDESTROY = &H0221
WM_MDIACTIVATE = &H0222
WM_MDIRESTORE = &H0223
WM_MDINEXT = &H0224
WM_MDIMAXIMIZE = &H0225
WM_MDITILE = &H0226
WM_MDICASCADE = &H0227
WM_MDIICONARRANGE = &H0228
WM_MDIGETACTIVE = &H0229
WM_MDISETMENU = &H0230
WM_ENTERSIZEMOVE = &H0231
WM_EXITSIZEMOVE = &H0232
WM_DROPFILES = &H0233
WM_MDIREFRESHMENU = &H0234
WM_IME_SETCONTEXT = &H0281
WM_IME_NOTIFY = &H0282
WM_IME_CONTROL = &H0283
WM_IME_COMPOSITIONFULL = &H0284
WM_IME_SELECT = &H0285
WM_IME_CHAR = &H0286
WM_IME_REQUEST = &H0288
WM_IME_KEYDOWN = &H0290
WM_IME_KEYUP = &H0291
WM_MOUSEHOVER = &H02A1
WM_MOUSELEAVE = &H02A3
WM_CUT = &H0300
WM_COPY = &H0301
WM_PASTE = &H0302
WM_CLEAR = &H0303
WM_UNDO = &H0304
WM_RENDERFORMAT = &H0305
WM_RENDERALLFORMATS = &H0306
WM_DESTROYCLIPBOARD = &H0307
WM_DRAWCLIPBOARD = &H0308
WM_PAINTCLIPBOARD = &H0309
WM_VSCROLLCLIPBOARD = &H030A
WM_SIZECLIPBOARD = &H030B
WM_ASKCBFORMATNAME = &H030C
WM_CHANGECBCHAIN = &H030D
WM_HSCROLLCLIPBOARD = &H030E
WM_QUERYNEWPALETTE = &H030F
WM_PALETTEISCHANGING = &H0310
WM_PALETTECHANGED = &H0311
WM_HOTKEY = &H0312
WM_PRINT = &H0317
WM_PRINTCLIENT = &H0318
WM_THEME_CHANGED = &H031A
WM_HANDHELDFIRST = &H0358
WM_HANDHELDLAST = &H035F
WM_AFXFIRST = &H0360
WM_AFXLAST = &H037F
WM_PENWINFIRST = &H0380
WM_PENWINLAST = &H038F
WM_APP = &H8000
WM_USER = &H0400
WM_REFLECT = WM_USER + &H1c00
End Enum
#End Region
#Region "SetWindowPosFlags"
<Flags> _
Friend Enum SetWindowPosFlags
SWP_NOSIZE = &H0001
SWP_NOMOVE = &H0002
SWP_NOZORDER = &H0004
SWP_NOREDRAW = &H0008
SWP_NOACTIVATE = &H0010
SWP_FRAMECHANGED = &H0020
SWP_SHOWWINDOW = &H0040
SWP_HIDEWINDOW = &H0080
SWP_NOCOPYBITS = &H0100
SWP_NOOWNERZORDER = &H0200
SWP_NOSENDCHANGING = &H0400
SWP_DRAWFRAME = &H0020
SWP_NOREPOSITION = &H0200
SWP_DEFERERASE = &H2000
SWP_ASYNCWINDOWPOS = &H4000
End Enum
#End Region
End Namespace
|
By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.
If a file you wish to view isn't highlighted, and is a text file (not binary), please
let us know and we'll add colourisation support for it.
Decebal Mihailescu is a software engineer with interest in .Net, C# and C++.