33780419d3280abc69dad0ea2d719ba74a866074
[mono.git] / mcs / class / System.Windows.Forms / System.Windows.Forms / win32Enums.cs
1 /*
2  * Copyright (C) 5/11/2002 Carlos Harvey Perez 
3  * 
4  *  Minor additons for project Mono by
5  *  John Sohn (jsohn@columbus.rr.com)
6  *      Dennis Hayes (dennish@raytek.com)
7  *
8  * Permission is hereby granted, free of charge, to any person obtaining
9  * a copy of this software and associated documentation files (the
10  * "Software"), to deal in the Software without restriction, including
11  * without limitation the rights to use, copy, modify, merge, publish,
12  * distribute, sublicense, and/or sell copies of the Software, and to
13  * permit persons to whom the Software is furnished to do so, subject
14  * to the following conditions:
15  * 
16  * The above copyright notice and this permission notice shall be
17  * included in all copies or substantial portions of the Software.
18  * 
19  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
21  * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
22  * NONINFRINGEMENT.
23  * IN NO EVENT SHALL CARLOS HARVEY PEREZ BE LIABLE FOR ANY CLAIM,
24  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
25  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
26  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.
27  * 
28  * Except as contained in this notice, the name of Carlos Harvey Perez
29  * shall not be used in advertising or otherwise to promote the sale,
30  * use or other dealings in this Software without prior written
31  * authorization from Carlos Harvey Perez.
32  */
33
34 using System;
35 using System.Runtime.InteropServices;
36 using System.Drawing;
37
38
39 //namespace UtilityLibrary.Win32
40 namespace System.Windows.Forms{
41         /// <summary>
42         /// Window API enumerations
43         /// </summary>
44         
45         #region Peek Message Flags
46         internal enum PeekMessageFlags {
47                 PM_NOREMOVE             = 0,
48                 PM_REMOVE               = 1,
49                 PM_NOYIELD              = 2
50         }
51         #endregion
52         
53         #region Windows Messages
54         public enum Msg {
55                 WM_NULL                   = 0x0000,
56                 WM_CREATE                 = 0x0001,
57                 WM_DESTROY                = 0x0002,
58                 WM_MOVE                   = 0x0003,
59                 WM_SIZE                   = 0x0005,
60                 WM_ACTIVATE               = 0x0006,
61                 WM_SETFOCUS               = 0x0007,
62                 WM_KILLFOCUS              = 0x0008,
63                 //              public const uint WM_SETVISIBLE           = 0x0009;
64                 WM_ENABLE                 = 0x000A,
65                 WM_SETREDRAW              = 0x000B,
66                 WM_SETTEXT                = 0x000C,
67                 WM_GETTEXT                = 0x000D,
68                 WM_GETTEXTLENGTH          = 0x000E,
69                 WM_PAINT                  = 0x000F,
70                 WM_CLOSE                  = 0x0010,
71                 WM_QUERYENDSESSION        = 0x0011,
72                 WM_QUIT                   = 0x0012,
73                 WM_QUERYOPEN              = 0x0013,
74                 WM_ERASEBKGND             = 0x0014,
75                 WM_SYSCOLORCHANGE         = 0x0015,
76                 WM_ENDSESSION             = 0x0016,
77                 //              public const uint WM_SYSTEMERROR          = 0x0017;
78                 WM_SHOWWINDOW             = 0x0018,
79                 WM_CTLCOLOR               = 0x0019,
80                 WM_WININICHANGE           = 0x001A,
81                 WM_SETTINGCHANGE          = 0x001A,
82                 WM_DEVMODECHANGE          = 0x001B,
83                 WM_ACTIVATEAPP            = 0x001C,
84                 WM_FONTCHANGE             = 0x001D,
85                 WM_TIMECHANGE             = 0x001E,
86                 WM_CANCELMODE             = 0x001F,
87                 WM_SETCURSOR              = 0x0020,
88                 WM_MOUSEACTIVATE          = 0x0021,
89                 WM_CHILDACTIVATE          = 0x0022,
90                 WM_QUEUESYNC              = 0x0023,
91                 WM_GETMINMAXINFO          = 0x0024,
92                 WM_PAINTICON              = 0x0026,
93                 WM_ICONERASEBKGND         = 0x0027,
94                 WM_NEXTDLGCTL             = 0x0028,
95                 //              public const uint WM_ALTTABACTIVE         = 0x0029;
96                 WM_SPOOLERSTATUS          = 0x002A,
97                 WM_DRAWITEM               = 0x002B,
98                 WM_MEASUREITEM            = 0x002C,
99                 WM_DELETEITEM             = 0x002D,
100                 WM_VKEYTOITEM             = 0x002E,
101                 WM_CHARTOITEM             = 0x002F,
102                 WM_SETFONT                = 0x0030,
103                 WM_GETFONT                = 0x0031,
104                 WM_SETHOTKEY              = 0x0032,
105                 WM_GETHOTKEY              = 0x0033,
106                 //              public const uint WM_FILESYSCHANGE        = 0x0034;
107                 //              public const uint WM_ISACTIVEICON         = 0x0035;
108                 //              public const uint WM_QUERYPARKICON        = 0x0036;
109                 WM_QUERYDRAGICON          = 0x0037,
110                 WM_COMPAREITEM            = 0x0039,
111                 //              public const uint WM_TESTING              = 0x003a;
112                 //              public const uint WM_OTHERWINDOWCREATED = 0x003c;
113                 WM_GETOBJECT              = 0x003D,
114                 //                      public const uint WM_ACTIVATESHELLWINDOW        = 0x003e;
115                 WM_COMPACTING             = 0x0041,
116                 WM_COMMNOTIFY             = 0x0044 ,
117                 WM_WINDOWPOSCHANGING      = 0x0046,
118                 WM_WINDOWPOSCHANGED       = 0x0047,
119                 WM_POWER                  = 0x0048,
120                 WM_COPYDATA               = 0x004A,
121                 WM_CANCELJOURNAL          = 0x004B,
122                 WM_NOTIFY                 = 0x004E,
123                 WM_INPUTLANGCHANGEREQUEST = 0x0050,
124                 WM_INPUTLANGCHANGE        = 0x0051,
125                 WM_TCARD                  = 0x0052,
126                 WM_HELP                   = 0x0053,
127                 WM_USERCHANGED            = 0x0054,
128                 WM_NOTIFYFORMAT           = 0x0055,
129                 WM_CONTEXTMENU            = 0x007B,
130                 WM_STYLECHANGING          = 0x007C,
131                 WM_STYLECHANGED           = 0x007D,
132                 WM_DISPLAYCHANGE          = 0x007E,
133                 WM_GETICON                = 0x007F,
134                 WM_SETICON                = 0x0080,
135                 WM_NCCREATE               = 0x0081,
136                 WM_NCDESTROY              = 0x0082,
137                 WM_NCCALCSIZE             = 0x0083,
138                 WM_NCHITTEST              = 0x0084,
139                 WM_NCPAINT                = 0x0085,
140                 WM_NCACTIVATE             = 0x0086,
141                 WM_GETDLGCODE             = 0x0087,
142                 WM_SYNCPAINT              = 0x0088,
143                 //              public const uint WM_SYNCTASK       = 0x0089;
144                 WM_NCMOUSEMOVE            = 0x00A0,
145                 WM_NCLBUTTONDOWN          = 0x00A1,
146                 WM_NCLBUTTONUP            = 0x00A2,
147                 WM_NCLBUTTONDBLCLK        = 0x00A3,
148                 WM_NCRBUTTONDOWN          = 0x00A4,
149                 WM_NCRBUTTONUP            = 0x00A5,
150                 WM_NCRBUTTONDBLCLK        = 0x00A6,
151                 WM_NCMBUTTONDOWN          = 0x00A7,
152                 WM_NCMBUTTONUP            = 0x00A8,
153                 WM_NCMBUTTONDBLCLK        = 0x00A9,
154                 //              public const uint WM_NCXBUTTONDOWN    = 0x00ab;
155                 //              public const uint WM_NCXBUTTONUP      = 0x00ac;
156                 //              public const uint WM_NCXBUTTONDBLCLK  = 0x00ad;
157                 WM_KEYDOWN                = 0x0100,
158                 WM_KEYUP                  = 0x0101,
159                 WM_CHAR                   = 0x0102,
160                 WM_DEADCHAR               = 0x0103,
161                 WM_SYSKEYDOWN             = 0x0104,
162                 WM_SYSKEYUP               = 0x0105,
163                 WM_SYSCHAR                = 0x0106,
164                 WM_SYSDEADCHAR            = 0x0107,
165                 WM_KEYLAST                = 0x0108,
166                 WM_IME_STARTCOMPOSITION   = 0x010D,
167                 WM_IME_ENDCOMPOSITION     = 0x010E,
168                 WM_IME_COMPOSITION        = 0x010F,
169                 WM_IME_KEYLAST            = 0x010F,
170                 WM_INITDIALOG             = 0x0110,
171                 WM_COMMAND                = 0x0111,
172                 WM_SYSCOMMAND             = 0x0112,
173                 WM_TIMER                  = 0x0113,
174                 WM_HSCROLL                = 0x0114,
175                 WM_VSCROLL                = 0x0115,
176                 WM_INITMENU               = 0x0116,
177                 WM_INITMENUPOPUP          = 0x0117,
178                 //              public const uint WM_SYSTIMER       = 0x0118;
179                 WM_MENUSELECT             = 0x011F,
180                 WM_MENUCHAR               = 0x0120,
181                 WM_ENTERIDLE              = 0x0121,
182                 WM_MENURBUTTONUP          = 0x0122,
183                 WM_MENUDRAG               = 0x0123,
184                 WM_MENUGETOBJECT          = 0x0124,
185                 WM_UNINITMENUPOPUP        = 0x0125,
186                 WM_MENUCOMMAND            = 0x0126,
187                 //              public const uint WM_CHANGEUISTATE    = 0x0127;
188                 //              public const uint WM_UPDATEUISTATE    = 0x0128;
189                 //              public const uint WM_QUERYUISTATE     = 0x0129;
190
191                 //              public const uint WM_LBTRACKPOINT     = 0x0131;
192                 WM_CTLCOLORMSGBOX         = 0x0132,
193                 WM_CTLCOLOREDIT           = 0x0133,
194                 WM_CTLCOLORLISTBOX        = 0x0134,
195                 WM_CTLCOLORBTN            = 0x0135,
196                 WM_CTLCOLORDLG            = 0x0136,
197                 WM_CTLCOLORSCROLLBAR      = 0x0137,
198                 WM_CTLCOLORSTATIC         = 0x0138,
199                 WM_MOUSEMOVE              = 0x0200,
200                 WM_LBUTTONDOWN            = 0x0201,
201                 WM_LBUTTONUP              = 0x0202,
202                 WM_LBUTTONDBLCLK          = 0x0203,
203                 WM_RBUTTONDOWN            = 0x0204,
204                 WM_RBUTTONUP              = 0x0205,
205                 WM_RBUTTONDBLCLK          = 0x0206,
206                 WM_MBUTTONDOWN            = 0x0207,
207                 WM_MBUTTONUP              = 0x0208,
208                 WM_MBUTTONDBLCLK          = 0x0209,
209                 WM_MOUSEWHEEL             = 0x020A,
210                 //              public const uint WM_XBUTTONDOWN      = 0x020B;
211                 //              public const uint WM_XBUTTONUP        = 0x020C;
212                 //              public const uint WM_XBUTTONDBLCLK    = 0x020D;
213                 WM_PARENTNOTIFY           = 0x0210,
214                 WM_ENTERMENULOOP          = 0x0211,
215                 WM_EXITMENULOOP           = 0x0212,
216                 WM_NEXTMENU               = 0x0213,
217                 WM_SIZING                 = 0x0214,
218                 WM_CAPTURECHANGED         = 0x0215,
219                 WM_MOVING                 = 0x0216,
220                 //              public const uint WM_POWERBROADCAST   = 0x0218;
221                 WM_DEVICECHANGE           = 0x0219,
222                 WM_MDICREATE              = 0x0220,
223                 WM_MDIDESTROY             = 0x0221,
224                 WM_MDIACTIVATE            = 0x0222,
225                 WM_MDIRESTORE             = 0x0223,
226                 WM_MDINEXT                = 0x0224,
227                 WM_MDIMAXIMIZE            = 0x0225,
228                 WM_MDITILE                = 0x0226,
229                 WM_MDICASCADE             = 0x0227,
230                 WM_MDIICONARRANGE         = 0x0228,
231                 WM_MDIGETACTIVE           = 0x0229,
232                 /* D&D messages */
233                 //              public const uint WM_DROPOBJECT     = 0x022A;
234                 //              public const uint WM_QUERYDROPOBJECT  = 0x022B;
235                 //              public const uint WM_BEGINDRAG      = 0x022C;
236                 //              public const uint WM_DRAGLOOP       = 0x022D;
237                 //              public const uint WM_DRAGSELECT     = 0x022E;
238                 //              public const uint WM_DRAGMOVE       = 0x022F;
239                 WM_MDISETMENU             = 0x0230,
240                 WM_ENTERSIZEMOVE          = 0x0231,
241                 WM_EXITSIZEMOVE           = 0x0232,
242                 WM_DROPFILES              = 0x0233,
243                 WM_MDIREFRESHMENU         = 0x0234,
244                 WM_IME_SETCONTEXT         = 0x0281,
245                 WM_IME_NOTIFY             = 0x0282,
246                 WM_IME_CONTROL            = 0x0283,
247                 WM_IME_COMPOSITIONFULL    = 0x0284,
248                 WM_IME_SELECT             = 0x0285,
249                 WM_IME_CHAR               = 0x0286,
250                 WM_IME_REQUEST            = 0x0288,
251                 WM_IME_KEYDOWN            = 0x0290,
252                 WM_IME_KEYUP              = 0x0291,
253                 WM_MOUSEHOVER             = 0x02A1,
254                 WM_MOUSELEAVE             = 0x02A3,
255                 WM_CUT                    = 0x0300,
256                 WM_COPY                   = 0x0301,
257                 WM_PASTE                  = 0x0302,
258                 WM_CLEAR                  = 0x0303,
259                 WM_UNDO                   = 0x0304,
260                 WM_RENDERFORMAT           = 0x0305,
261                 WM_RENDERALLFORMATS       = 0x0306,
262                 WM_DESTROYCLIPBOARD       = 0x0307,
263                 WM_DRAWCLIPBOARD          = 0x0308,
264                 WM_PAINTCLIPBOARD         = 0x0309,
265                 WM_VSCROLLCLIPBOARD       = 0x030A,
266                 WM_SIZECLIPBOARD          = 0x030B,
267                 WM_ASKCBFORMATNAME        = 0x030C,
268                 WM_CHANGECBCHAIN          = 0x030D,
269                 WM_HSCROLLCLIPBOARD       = 0x030E,
270                 WM_QUERYNEWPALETTE        = 0x030F,
271                 WM_PALETTEISCHANGING      = 0x0310,
272                 WM_PALETTECHANGED         = 0x0311,
273                 WM_HOTKEY                 = 0x0312,
274                 WM_PRINT                  = 0x0317,
275                 WM_PRINTCLIENT            = 0x0318,
276                 WM_HANDHELDFIRST          = 0x0358,
277                 WM_HANDHELDLAST           = 0x035F,
278                 WM_AFXFIRST               = 0x0360,
279                 WM_AFXLAST                = 0x037F,
280                 WM_PENWINFIRST            = 0x0380,
281                 WM_PENWINLAST             = 0x038F,
282                 WM_APP                    = 0x8000,
283                 WM_USER                   = 0x0400,
284                 WM_REFLECT                = WM_USER + 0x1c00
285         }
286         #endregion
287
288         #region Window Styles
289         [Flags]
290         public enum WindowStyles : long {
291                 WS_OVERLAPPED       = 0x00000000,
292                 WS_POPUP            = 0x80000000,
293                 WS_CHILD            = 0x40000000,
294                 WS_MINIMIZE         = 0x20000000,
295                 WS_VISIBLE          = 0x10000000,
296                 WS_DISABLED         = 0x08000000,
297                 WS_CLIPSIBLINGS     = 0x04000000,
298                 WS_CLIPCHILDREN     = 0x02000000,
299                 WS_MAXIMIZE         = 0x01000000,
300                 WS_CAPTION          = 0x00C00000,
301                 WS_BORDER           = 0x00800000,
302                 WS_DLGFRAME         = 0x00400000,
303                 WS_VSCROLL          = 0x00200000,
304                 WS_HSCROLL          = 0x00100000,
305                 WS_SYSMENU          = 0x00080000,
306                 WS_THICKFRAME       = 0x00040000,
307                 WS_GROUP            = 0x00020000,
308                 WS_TABSTOP          = 0x00010000,
309                 WS_MINIMIZEBOX      = 0x00020000,
310                 WS_MAXIMIZEBOX      = 0x00010000,
311                 WS_TILED            = 0x00000000,
312                 WS_ICONIC           = 0x20000000,
313                 WS_SIZEBOX          = 0x00040000,
314                 WS_POPUPWINDOW      = 0x80880000,
315                 WS_OVERLAPPEDWINDOW = 0x00CF0000,
316                 //this OR option is perferred
317                 //              public const uint WS_OVERLAPPEDWINDOW = WS_OVERLAPPED | 
318                 //                WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| 
319                 //                WS_MINIMIZEBOX | WS_MAXIMIZEBOX;
320                 WS_TILEDWINDOW      = 0x00CF0000,
321                 WS_CHILDWINDOW      = 0x40000000
322         }
323         #endregion
324
325         #region Window Extended Styles
326         public enum WindowExStyles {
327                 WS_EX_DLGMODALFRAME     = 0x00000001,
328                 WS_EX_NOPARENTNOTIFY    = 0x00000004,
329                 WS_EX_TOPMOST           = 0x00000008,
330                 WS_EX_ACCEPTFILES       = 0x00000010,
331                 WS_EX_TRANSPARENT       = 0x00000020,
332                 WS_EX_MDICHILD          = 0x00000040,
333                 WS_EX_TOOLWINDOW        = 0x00000080,
334                 WS_EX_WINDOWEDGE        = 0x00000100,
335                 WS_EX_CLIENTEDGE        = 0x00000200,
336                 WS_EX_CONTEXTHELP       = 0x00000400,
337                 WS_EX_RIGHT             = 0x00001000,
338                 WS_EX_LEFT              = 0x00000000,
339                 WS_EX_RTLREADING        = 0x00002000,
340                 WS_EX_LTRREADING        = 0x00000000,
341                 WS_EX_LEFTSCROLLBAR     = 0x00004000,
342                 WS_EX_RIGHTSCROLLBAR    = 0x00000000,
343                 WS_EX_CONTROLPARENT     = 0x00010000,
344                 WS_EX_STATICEDGE        = 0x00020000,
345                 WS_EX_APPWINDOW         = 0x00040000,
346                 WS_EX_OVERLAPPEDWINDOW  = 0x00000300,
347                 WS_EX_PALETTEWINDOW     = 0x00000188,
348                 WS_EX_LAYERED                   = 0x00080000
349         }
350         #endregion
351
352         #region ShowWindow Styles
353         public enum ShowWindowStyles : short {
354                 SW_HIDE             = 0,
355                 SW_SHOWNORMAL       = 1,
356                 SW_NORMAL           = 1,
357                 SW_SHOWMINIMIZED    = 2,
358                 SW_SHOWMAXIMIZED    = 3,
359                 SW_MAXIMIZE         = 3,
360                 SW_SHOWNOACTIVATE   = 4,
361                 SW_SHOW             = 5,
362                 SW_MINIMIZE         = 6,
363                 SW_SHOWMINNOACTIVE  = 7,
364                 SW_SHOWNA           = 8,
365                 SW_RESTORE          = 9,
366                 SW_SHOWDEFAULT      = 10,
367                 SW_FORCEMINIMIZE    = 11,
368                 SW_MAX              = 11
369                 //              public const uint SW_NORMALNA         = 0xCC;
370         }
371         #endregion
372
373         #region SetWindowPos Z Order
374         public enum SetWindowPosZOrder {
375                 HWND_TOP        = 0,
376                 HWND_BOTTOM     = 1,
377                 HWND_TOPMOST    = -1,
378                 HWND_NOTOPMOST  = -2
379                 //              public const int HWND_MESSAGE = -3;
380         }
381         #endregion
382
383         #region SetWindowPosFlags
384         [Flags]
385         public enum SetWindowPosFlags {
386                 SWP_NOSIZE          = 0x0001,
387                 SWP_NOMOVE          = 0x0002,
388                 SWP_NOZORDER        = 0x0004,
389                 SWP_NOREDRAW        = 0x0008,
390                 SWP_NOACTIVATE      = 0x0010,
391                 SWP_FRAMECHANGED    = 0x0020,
392                 SWP_SHOWWINDOW      = 0x0040,
393                 SWP_HIDEWINDOW      = 0x0080,
394                 SWP_NOCOPYBITS      = 0x0100,
395                 SWP_NOOWNERZORDER   = 0x0200, 
396                 SWP_NOSENDCHANGING  = 0x0400,
397                 SWP_DRAWFRAME       = SWP_FRAMECHANGED,
398                 SWP_NOREPOSITION    = SWP_NOOWNERZORDER,
399                 SWP_DEFERERASE      = 0x2000,
400                 SWP_ASYNCWINDOWPOS  = 0x4000
401         }
402         #endregion
403
404         #region Virtual Keys
405         public enum VirtualKeys {
406                 VK_LBUTTON              = 0x01,
407                 VK_CANCEL               = 0x03,
408                 VK_BACK                 = 0x08,
409                 VK_TAB                  = 0x09,
410                 VK_CLEAR                = 0x0C,
411                 VK_RETURN               = 0x0D,
412                 VK_SHIFT                = 0x10,
413                 VK_CONTROL              = 0x11,
414                 VK_MENU                 = 0x12,
415                 VK_CAPITAL              = 0x14,
416                 VK_ESCAPE               = 0x1B,
417                 VK_SPACE                = 0x20,
418                 VK_PRIOR                = 0x21,
419                 VK_NEXT                 = 0x22,
420                 VK_END                  = 0x23,
421                 VK_HOME                 = 0x24,
422                 VK_LEFT                 = 0x25,
423                 VK_UP                   = 0x26,
424                 VK_RIGHT                = 0x27,
425                 VK_DOWN                 = 0x28,
426                 VK_SELECT               = 0x29,
427                 VK_EXECUTE              = 0x2B,
428                 VK_SNAPSHOT             = 0x2C,
429                 VK_HELP                 = 0x2F,
430                 VK_0                    = 0x30,
431                 VK_1                    = 0x31,
432                 VK_2                    = 0x32,
433                 VK_3                    = 0x33,
434                 VK_4                    = 0x34,
435                 VK_5                    = 0x35,
436                 VK_6                    = 0x36,
437                 VK_7                    = 0x37,
438                 VK_8                    = 0x38,
439                 VK_9                    = 0x39,
440                 VK_A                    = 0x41,
441                 VK_B                    = 0x42,
442                 VK_C                    = 0x43,
443                 VK_D                    = 0x44,
444                 VK_E                    = 0x45,
445                 VK_F                    = 0x46,
446                 VK_G                    = 0x47,
447                 VK_H                    = 0x48,
448                 VK_I                    = 0x49,
449                 VK_J                    = 0x4A,
450                 VK_K                    = 0x4B,
451                 VK_L                    = 0x4C,
452                 VK_M                    = 0x4D,
453                 VK_N                    = 0x4E,
454                 VK_O                    = 0x4F,
455                 VK_P                    = 0x50,
456                 VK_Q                    = 0x51,
457                 VK_R                    = 0x52,
458                 VK_S                    = 0x53,
459                 VK_T                    = 0x54,
460                 VK_U                    = 0x55,
461                 VK_V                    = 0x56,
462                 VK_W                    = 0x57,
463                 VK_X                    = 0x58,
464                 VK_Y                    = 0x59,
465                 VK_Z                    = 0x5A,
466                 VK_NUMPAD0              = 0x60,
467                 VK_NUMPAD1              = 0x61,
468                 VK_NUMPAD2              = 0x62,
469                 VK_NUMPAD3              = 0x63,
470                 VK_NUMPAD4              = 0x64,
471                 VK_NUMPAD5              = 0x65,
472                 VK_NUMPAD6              = 0x66,
473                 VK_NUMPAD7              = 0x67,
474                 VK_NUMPAD8              = 0x68,
475                 VK_NUMPAD9              = 0x69,
476                 VK_MULTIPLY             = 0x6A,
477                 VK_ADD                  = 0x6B,
478                 VK_SEPARATOR    = 0x6C,
479                 VK_SUBTRACT             = 0x6D,
480                 VK_DECIMAL              = 0x6E,
481                 VK_DIVIDE               = 0x6F,
482                 VK_ATTN                 = 0xF6,
483                 VK_CRSEL                = 0xF7,
484                 VK_EXSEL                = 0xF8,
485                 VK_EREOF                = 0xF9,
486                 VK_PLAY                 = 0xFA,  
487                 VK_ZOOM                 = 0xFB,
488                 VK_NONAME               = 0xFC,
489                 VK_PA1                  = 0xFD,
490                 VK_OEM_CLEAR    = 0xFE,
491                 VK_LWIN                 = 0x5B,
492                 VK_RWIN                 = 0x5C,
493                 VK_APPS                 = 0x5D,   
494                 VK_LSHIFT               = 0xA0,   
495                 VK_RSHIFT               = 0xA1,   
496                 VK_LCONTROL             = 0xA2,   
497                 VK_RCONTROL             = 0xA3,   
498                 VK_LMENU                = 0xA4,   
499                 VK_RMENU                = 0xA5
500         }
501         #endregion
502                 
503         #region PatBlt Types
504         public enum PatBltTypes {
505                 SRCCOPY          =   0x00CC0020,
506                 SRCPAINT         =   0x00EE0086,
507                 SRCAND           =   0x008800C6,
508                 SRCINVERT        =   0x00660046,
509                 SRCERASE         =   0x00440328,
510                 NOTSRCCOPY       =   0x00330008,
511                 NOTSRCERASE      =   0x001100A6,
512                 MERGECOPY        =   0x00C000CA,
513                 MERGEPAINT       =   0x00BB0226,
514                 PATCOPY          =   0x00F00021,
515                 PATPAINT         =   0x00FB0A09,
516                 PATINVERT        =   0x005A0049,
517                 DSTINVERT        =   0x00550009,
518                 BLACKNESS        =   0x00000042,
519                 WHITENESS        =   0x00FF0062
520         }
521         #endregion
522         
523         #region Clipboard Formats
524         public enum ClipboardFormats {                  
525                 CF_TEXT             = 1,
526                 CF_BITMAP           = 2,
527                 CF_METAFILEPICT     = 3,
528                 CF_SYLK             = 4,
529                 CF_DIF              = 5,
530                 CF_TIFF             = 6,
531                 CF_OEMTEXT          = 7,
532                 CF_DIB              = 8,
533                 CF_PALETTE          = 9,
534                 CF_PENDATA          = 10,
535                 CF_RIFF             = 11,
536                 CF_WAVE             = 12,
537                 CF_UNICODETEXT      = 13,
538                 CF_ENHMETAFILE      = 14,
539                 CF_HDROP            = 15,
540                 CF_LOCALE           = 16,
541                 CF_MAX              = 17,
542                 CF_OWNERDISPLAY     = 0x0080,
543                 CF_DSPTEXT          = 0x0081,
544                 CF_DSPBITMAP        = 0x0082,
545                 CF_DSPMETAFILEPICT  = 0x0083,
546                 CF_DSPENHMETAFILE   = 0x008E,
547                 CF_PRIVATEFIRST     = 0x0200,
548                 CF_PRIVATELAST      = 0x02FF,
549                 CF_GDIOBJFIRST      = 0x0300,
550                 CF_GDIOBJLAST       = 0x03FF
551         }
552         #endregion
553
554         #region Common Controls Initialization flags
555         public enum CommonControlInitFlags : int {
556                 ICC_LISTVIEW_CLASSES   = 0x00000001, 
557                 ICC_TREEVIEW_CLASSES   = 0x00000002, 
558                 ICC_BAR_CLASSES        = 0x00000004, 
559                 ICC_TAB_CLASSES        = 0x00000008, 
560                 ICC_UPDOWN_CLASS       = 0x00000010, 
561                 ICC_PROGRESS_CLASS     = 0x00000020, 
562                 ICC_HOTKEY_CLASS       = 0x00000040, 
563                 ICC_ANIMATE_CLASS      = 0x00000080, 
564                 ICC_WIN95_CLASSES      = 0x000000FF,
565                 ICC_DATE_CLASSES       = 0x00000100, 
566                 ICC_USEREX_CLASSES     = 0x00000200,
567                 ICC_COOL_CLASSES       = 0x00000400, 
568                 ICC_INTERNET_CLASSES   = 0x00000800,
569                 ICC_PAGESCROLLER_CLASS = 0x00001000, 
570                 ICC_NATIVEFNTCTL_CLASS = 0x00002000  
571         }
572         #endregion
573
574         #region Common Controls Styles
575         public  enum CommonControlStyles {
576                 CCS_TOP                 = 0x00000001,
577                 CCS_NOMOVEY             = 0x00000002,
578                 CCS_BOTTOM              = 0x00000003,
579                 CCS_NORESIZE            = 0x00000004,
580                 CCS_NOPARENTALIGN       = 0x00000008,
581                 CCS_ADJUSTABLE          = 0x00000020,
582                 CCS_NODIVIDER           = 0x00000040,
583                 CCS_VERT                = 0x00000080,
584                 CCS_LEFT                = (CCS_VERT | CCS_TOP),
585                 CCS_RIGHT               = (CCS_VERT | CCS_BOTTOM),
586                 CCS_NOMOVEX             = (CCS_VERT | CCS_NOMOVEY)
587         }
588         #endregion
589
590         #region ToolBar Styles
591         public enum ToolBarStyles {
592                 TBSTYLE_BUTTON          = 0x0000,
593                 TBSTYLE_SEP             = 0x0001,
594                 TBSTYLE_CHECK           = 0x0002,
595                 TBSTYLE_GROUP           = 0x0004,
596                 TBSTYLE_CHECKGROUP      = (TBSTYLE_GROUP | TBSTYLE_CHECK),
597                 TBSTYLE_DROPDOWN        = 0x0008,
598                 TBSTYLE_AUTOSIZE        = 0x0010,
599                 TBSTYLE_NOPREFIX        = 0x0020, 
600                 TBSTYLE_TOOLTIPS        = 0x0100,
601                 TBSTYLE_WRAPABLE        = 0x0200,
602                 TBSTYLE_ALTDRAG         = 0x0400,
603                 TBSTYLE_FLAT            = 0x0800,
604                 TBSTYLE_LIST            = 0x1000,
605                 TBSTYLE_CUSTOMERASE     = 0x2000,
606                 TBSTYLE_REGISTERDROP    = 0x4000,
607                 TBSTYLE_TRANSPARENT     = 0x8000,
608                 TBSTYLE_EX_DRAWDDARROWS = 0x00000001
609         }
610         #endregion
611
612         #region ToolBar Ex Styles
613         public enum ToolBarExStyles {
614                 TBSTYLE_EX_DRAWDDARROWS                 = 0x1,
615                 TBSTYLE_EX_HIDECLIPPEDBUTTONS   = 0x10,
616                 TBSTYLE_EX_DOUBLEBUFFER                 = 0x80
617         }
618         #endregion
619
620         #region ToolBar Messages
621         public enum ToolBarMessages {
622                 WM_USER                 =  0x0400,
623                 TB_ENABLEBUTTON         = (WM_USER + 1),
624                 TB_CHECKBUTTON          = (WM_USER + 2),
625                 TB_PRESSBUTTON          = (WM_USER + 3),
626                 TB_HIDEBUTTON           = (WM_USER + 4),
627                 TB_INDETERMINATE        = (WM_USER + 5),
628                 TB_MARKBUTTON           = (WM_USER + 6),
629                 TB_ISBUTTONENABLED      = (WM_USER + 9),
630                 TB_ISBUTTONCHECKED      = (WM_USER + 10),
631                 TB_ISBUTTONPRESSED      = (WM_USER + 11),
632                 TB_ISBUTTONHIDDEN       = (WM_USER + 12),
633                 TB_ISBUTTONINDETERMINATE= (WM_USER + 13),
634                 TB_ISBUTTONHIGHLIGHTED  = (WM_USER + 14),
635                 TB_SETSTATE             = (WM_USER + 17),
636                 TB_GETSTATE             = (WM_USER + 18),
637                 TB_ADDBITMAP            = (WM_USER + 19),
638                 TB_ADDBUTTONSA          = (WM_USER + 20),
639                 TB_INSERTBUTTONA        = (WM_USER + 21),
640                 TB_ADDBUTTONS           = (WM_USER + 20),
641                 TB_INSERTBUTTON         = (WM_USER + 21),
642                 TB_DELETEBUTTON         = (WM_USER + 22),
643                 TB_GETBUTTON            = (WM_USER + 23),
644                 TB_BUTTONCOUNT          = (WM_USER + 24),
645                 TB_COMMANDTOINDEX       = (WM_USER + 25),
646                 TB_SAVERESTOREA         = (WM_USER + 26),
647                 TB_CUSTOMIZE            = (WM_USER + 27),
648                 TB_ADDSTRINGA           = (WM_USER + 28),
649                 TB_GETITEMRECT          = (WM_USER + 29),
650                 TB_BUTTONSTRUCTSIZE     = (WM_USER + 30),
651                 TB_SETBUTTONSIZE        = (WM_USER + 31),
652                 TB_SETBITMAPSIZE        = (WM_USER + 32),
653                 TB_AUTOSIZE             = (WM_USER + 33),
654                 TB_GETTOOLTIPS          = (WM_USER + 35),
655                 TB_SETTOOLTIPS          = (WM_USER + 36),
656                 TB_SETPARENT            = (WM_USER + 37),
657                 TB_SETROWS              = (WM_USER + 39),
658                 TB_GETROWS              = (WM_USER + 40),
659                 TB_GETBITMAPFLAGS       = (WM_USER + 41),
660                 TB_SETCMDID             = (WM_USER + 42),
661                 TB_CHANGEBITMAP         = (WM_USER + 43),
662                 TB_GETBITMAP            = (WM_USER + 44),
663                 TB_GETBUTTONTEXTA       = (WM_USER + 45),
664                 TB_GETBUTTONTEXTW       = (WM_USER + 75),
665                 TB_REPLACEBITMAP        = (WM_USER + 46),
666                 TB_SETINDENT            = (WM_USER + 47),
667                 TB_SETIMAGELIST         = (WM_USER + 48),
668                 TB_GETIMAGELIST         = (WM_USER + 49),
669                 TB_LOADIMAGES           = (WM_USER + 50),
670                 TB_GETRECT              = (WM_USER + 51),
671                 TB_SETHOTIMAGELIST      = (WM_USER + 52),
672                 TB_GETHOTIMAGELIST      = (WM_USER + 53),
673                 TB_SETDISABLEDIMAGELIST = (WM_USER + 54),
674                 TB_GETDISABLEDIMAGELIST = (WM_USER + 55),
675                 TB_SETSTYLE             = (WM_USER + 56),
676                 TB_GETSTYLE             = (WM_USER + 57),
677                 TB_GETBUTTONSIZE        = (WM_USER + 58),
678                 TB_SETBUTTONWIDTH       = (WM_USER + 59),
679                 TB_SETMAXTEXTROWS       = (WM_USER + 60),
680                 TB_GETTEXTROWS          = (WM_USER + 61),
681                 TB_GETOBJECT            = (WM_USER + 62), 
682                 TB_GETBUTTONINFOW       = (WM_USER + 63),
683                 TB_SETBUTTONINFOW       = (WM_USER + 64),
684                 TB_GETBUTTONINFOA       = (WM_USER + 65),
685                 TB_SETBUTTONINFOA       = (WM_USER + 66),
686                 TB_INSERTBUTTONW        = (WM_USER + 67),
687                 TB_ADDBUTTONSW          = (WM_USER + 68),
688                 TB_HITTEST              = (WM_USER + 69),
689                 TB_SETDRAWTEXTFLAGS     = (WM_USER + 70),
690                 TB_GETHOTITEM           = (WM_USER + 71),
691                 TB_SETHOTITEM           = (WM_USER + 72), 
692                 TB_SETANCHORHIGHLIGHT   = (WM_USER + 73),  
693                 TB_GETANCHORHIGHLIGHT   = (WM_USER + 74),
694                 TB_SAVERESTOREW         = (WM_USER + 76),
695                 TB_ADDSTRINGW           = (WM_USER + 77),
696                 TB_MAPACCELERATORA      = (WM_USER + 78), 
697                 TB_GETINSERTMARK        = (WM_USER + 79), 
698                 TB_SETINSERTMARK        = (WM_USER + 80), 
699                 TB_INSERTMARKHITTEST    = (WM_USER + 81),  
700                 TB_MOVEBUTTON           = (WM_USER + 82),
701                 TB_GETMAXSIZE           = (WM_USER + 83),  
702                 TB_SETEXTENDEDSTYLE     = (WM_USER + 84),  
703                 TB_GETEXTENDEDSTYLE     = (WM_USER + 85),  
704                 TB_GETPADDING           = (WM_USER + 86),
705                 TB_SETPADDING           = (WM_USER + 87),
706                 TB_SETINSERTMARKCOLOR   = (WM_USER + 88),
707                 TB_GETINSERTMARKCOLOR   = (WM_USER + 89)
708         }
709         #endregion
710
711         #region ToolBar Notifications
712         public enum ToolBarNotifications {
713                 TTN_NEEDTEXTA           = ((0-520)-0),
714                 TTN_NEEDTEXTW           = ((0-520)-10),
715                 TBN_QUERYINSERT         = ((0-700)-6),
716                 TBN_DROPDOWN            = ((0-700)-10),
717                 TBN_HOTITEMCHANGE       = ((0 - 700) - 13)
718         }
719         #endregion
720
721         #region Reflected Messages
722         public enum ReflectedMessages {
723                 OCM__BASE                               = (Msg.WM_USER+0x1c00),
724                 OCM_COMMAND                             = (OCM__BASE + Msg.WM_COMMAND),
725                 OCM_CTLCOLORBTN                 = (OCM__BASE + Msg.WM_CTLCOLORBTN),
726                 OCM_CTLCOLOREDIT                = (OCM__BASE + Msg.WM_CTLCOLOREDIT),
727                 OCM_CTLCOLORDLG                 = (OCM__BASE + Msg.WM_CTLCOLORDLG),
728                 OCM_CTLCOLORLISTBOX             = (OCM__BASE + Msg.WM_CTLCOLORLISTBOX),
729                 OCM_CTLCOLORMSGBOX              = (OCM__BASE + Msg.WM_CTLCOLORMSGBOX),
730                 OCM_CTLCOLORSCROLLBAR   = (OCM__BASE + Msg.WM_CTLCOLORSCROLLBAR),
731                 OCM_CTLCOLORSTATIC              = (OCM__BASE + Msg.WM_CTLCOLORSTATIC),
732                 OCM_CTLCOLOR                    = (OCM__BASE + Msg.WM_CTLCOLOR),
733                 OCM_DRAWITEM                    = (OCM__BASE + Msg.WM_DRAWITEM),
734                 OCM_MEASUREITEM                 = (OCM__BASE + Msg.WM_MEASUREITEM),
735                 OCM_DELETEITEM          = (OCM__BASE + Msg.WM_DELETEITEM),
736                 OCM_VKEYTOITEM          = (OCM__BASE + Msg.WM_VKEYTOITEM),
737                 OCM_CHARTOITEM          = (OCM__BASE + Msg.WM_CHARTOITEM),
738                 OCM_COMPAREITEM         = (OCM__BASE + Msg.WM_COMPAREITEM),
739                 OCM_HSCROLL             = (OCM__BASE + Msg.WM_HSCROLL),
740                 OCM_VSCROLL             = (OCM__BASE + Msg.WM_VSCROLL),
741                 OCM_PARENTNOTIFY        = (OCM__BASE + Msg.WM_PARENTNOTIFY),
742                 OCM_NOTIFY              = (OCM__BASE + Msg.WM_NOTIFY)
743         }
744         #endregion
745
746         #region Notification Messages
747         public enum NotificationMessages {
748                 NM_FIRST      = (0-0),
749                 NM_CUSTOMDRAW = (NM_FIRST-12),
750                 NM_NCHITTEST  = (NM_FIRST-14) 
751         }
752         #endregion
753
754         #region ToolTip Flags
755         public enum ToolTipFlags {
756                 TTF_IDISHWND            = 0x0001,
757                 TTF_CENTERTIP           = 0x0002,
758                 TTF_RTLREADING          = 0x0004,
759                 TTF_SUBCLASS            = 0x0010,
760                 TTF_TRACK               = 0x0020,
761                 TTF_ABSOLUTE            = 0x0080,
762                 TTF_TRANSPARENT         = 0x0100,
763                 TTF_DI_SETITEM          = 0x8000   
764         }
765         #endregion
766
767         public enum ToolTipNotifications : int {
768                 TTN_FIRST               = 0-520,
769                 TTN_GETDISPINFO        = (TTN_FIRST - 10),
770                 TTN_SHOW                = (TTN_FIRST - 1),
771                 TTN_POP                 = (TTN_FIRST - 2)
772         }
773
774         #region Custom Draw Return Flags
775         public enum CustomDrawReturnFlags {
776                 CDRF_DODEFAULT          = 0x00000000,
777                 CDRF_NEWFONT            = 0x00000002,
778                 CDRF_SKIPDEFAULT        = 0x00000004,
779                 CDRF_NOTIFYPOSTPAINT    = 0x00000010,
780                 CDRF_NOTIFYITEMDRAW     = 0x00000020,
781                 CDRF_NOTIFYSUBITEMDRAW  = 0x00000020, 
782                 CDRF_NOTIFYPOSTERASE    = 0x00000040
783         }
784         #endregion
785
786         #region Custom Draw Item State Flags
787         public enum CustomDrawItemStateFlags {
788                 CDIS_SELECTED       = 0x0001,
789                 CDIS_GRAYED         = 0x0002,
790                 CDIS_DISABLED       = 0x0004,
791                 CDIS_CHECKED        = 0x0008,
792                 CDIS_FOCUS          = 0x0010,
793                 CDIS_DEFAULT        = 0x0020,
794                 CDIS_HOT            = 0x0040,
795                 CDIS_MARKED         = 0x0080,
796                 CDIS_INDETERMINATE  = 0x0100
797         }
798         #endregion
799
800         #region Custom Draw Draw State Flags
801         public enum CustomDrawDrawStateFlags {
802                 CDDS_PREPAINT           = 0x00000001,
803                 CDDS_POSTPAINT          = 0x00000002,
804                 CDDS_PREERASE           = 0x00000003,
805                 CDDS_POSTERASE          = 0x00000004,
806                 CDDS_ITEM               = 0x00010000,
807                 CDDS_ITEMPREPAINT       = (CDDS_ITEM | CDDS_PREPAINT),
808                 CDDS_ITEMPOSTPAINT      = (CDDS_ITEM | CDDS_POSTPAINT),
809                 CDDS_ITEMPREERASE       = (CDDS_ITEM | CDDS_PREERASE),
810                 CDDS_ITEMPOSTERASE      = (CDDS_ITEM | CDDS_POSTERASE),
811                 CDDS_SUBITEM            = 0x00020000
812         }
813         #endregion
814
815         #region Toolbar button info flags
816         public enum ToolBarButtonInfoFlags {
817                 TBIF_IMAGE             = 0x00000001,
818                 TBIF_TEXT              = 0x00000002,
819                 TBIF_STATE             = 0x00000004,
820                 TBIF_STYLE             = 0x00000008,
821                 TBIF_LPARAM            = 0x00000010,
822                 TBIF_COMMAND           = 0x00000020,
823                 TBIF_SIZE              = 0x00000040,
824                 I_IMAGECALLBACK        = -1,
825                 I_IMAGENONE            = -2
826         }
827         #endregion
828
829         #region Toolbar button styles
830         public enum ToolBarButtonStyles {
831                 TBSTYLE_BUTTON          = 0x0000,
832                 TBSTYLE_SEP             = 0x0001,
833                 TBSTYLE_CHECK           = 0x0002,
834                 TBSTYLE_GROUP           = 0x0004,
835                 TBSTYLE_CHECKGROUP      = (TBSTYLE_GROUP | TBSTYLE_CHECK),
836                 TBSTYLE_DROPDOWN        = 0x0008,
837                 TBSTYLE_AUTOSIZE        = 0x0010,
838                 TBSTYLE_NOPREFIX        = 0x0020, 
839                 TBSTYLE_TOOLTIPS        = 0x0100,
840                 TBSTYLE_WRAPABLE        = 0x0200,
841                 TBSTYLE_ALTDRAG         = 0x0400,
842                 TBSTYLE_FLAT            = 0x0800,
843                 TBSTYLE_LIST            = 0x1000,
844                 TBSTYLE_CUSTOMERASE     = 0x2000,
845                 TBSTYLE_REGISTERDROP    = 0x4000,
846                 TBSTYLE_TRANSPARENT     = 0x8000,
847                 TBSTYLE_EX_DRAWDDARROWS = 0x00000001
848         }
849         #endregion
850
851         #region Toolbar button state
852         public enum ToolBarButtonStates {
853                 TBSTATE_CHECKED         = 0x01,
854                 TBSTATE_PRESSED         = 0x02,
855                 TBSTATE_ENABLED         = 0x04,
856                 TBSTATE_HIDDEN          = 0x08,
857                 TBSTATE_INDETERMINATE   = 0x10,
858                 TBSTATE_WRAP            = 0x20,
859                 TBSTATE_ELLIPSES        = 0x40,
860                 TBSTATE_MARKED          = 0x80
861         }
862         #endregion
863
864         #region Windows Hook Codes
865         public enum WindowsHookCodes {
866                 WH_MSGFILTER        = (-1),
867                 WH_JOURNALRECORD    = 0,
868                 WH_JOURNALPLAYBACK  = 1,
869                 WH_KEYBOARD         = 2,
870                 WH_GETMESSAGE       = 3,
871                 WH_CALLWNDPROC      = 4,
872                 WH_CBT              = 5,
873                 WH_SYSMSGFILTER     = 6,
874                 WH_MOUSE            = 7,
875                 WH_HARDWARE         = 8,
876                 WH_DEBUG            = 9,
877                 WH_SHELL            = 10,
878                 WH_FOREGROUNDIDLE   = 11,
879                 WH_CALLWNDPROCRET   = 12,
880                 WH_KEYBOARD_LL      = 13,
881                 WH_MOUSE_LL         = 14
882         }
883                   
884         #endregion
885
886         #region Mouse Hook Filters
887         public enum MouseHookFilters {
888                 MSGF_DIALOGBOX      = 0,
889                 MSGF_MESSAGEBOX     = 1,
890                 MSGF_MENU           = 2,
891                 MSGF_SCROLLBAR      = 5,
892                 MSGF_NEXTWINDOW     = 6
893         }
894
895         #endregion
896
897         #region Draw Text format flags
898         public enum DrawTextFormatFlags {
899                 DT_TOP              = 0x00000000,
900                 DT_LEFT             = 0x00000000,
901                 DT_CENTER           = 0x00000001,
902                 DT_RIGHT            = 0x00000002,
903                 DT_VCENTER          = 0x00000004,
904                 DT_BOTTOM           = 0x00000008,
905                 DT_WORDBREAK        = 0x00000010,
906                 DT_SINGLELINE       = 0x00000020,
907                 DT_EXPANDTABS       = 0x00000040,
908                 DT_TABSTOP          = 0x00000080,
909                 DT_NOCLIP           = 0x00000100,
910                 DT_EXTERNALLEADING  = 0x00000200,
911                 DT_CALCRECT         = 0x00000400,
912                 DT_NOPREFIX         = 0x00000800,
913                 DT_INTERNAL         = 0x00001000,
914                 DT_EDITCONTROL      = 0x00002000,
915                 DT_PATH_ELLIPSIS    = 0x00004000,
916                 DT_END_ELLIPSIS     = 0x00008000,
917                 DT_MODIFYSTRING     = 0x00010000,
918                 DT_RTLREADING       = 0x00020000,
919                 DT_WORD_ELLIPSIS    = 0x00040000
920         }
921
922         #endregion
923
924         #region Rebar Styles
925         public enum RebarStyles {
926                 RBS_TOOLTIPS        = 0x0100,
927                 RBS_VARHEIGHT       = 0x0200,
928                 RBS_BANDBORDERS     = 0x0400,
929                 RBS_FIXEDORDER      = 0x0800,
930                 RBS_REGISTERDROP    = 0x1000,
931                 RBS_AUTOSIZE        = 0x2000,
932                 RBS_VERTICALGRIPPER = 0x4000, 
933                 RBS_DBLCLKTOGGLE    = 0x8000,
934         }
935         #endregion
936
937         #region Rebar Notifications
938         public enum RebarNotifications {
939                 RBN_FIRST           = (0-831),
940                 RBN_HEIGHTCHANGE    = (RBN_FIRST - 0),
941                 RBN_GETOBJECT       = (RBN_FIRST - 1),
942                 RBN_LAYOUTCHANGED   = (RBN_FIRST - 2),
943                 RBN_AUTOSIZE        = (RBN_FIRST - 3),
944                 RBN_BEGINDRAG       = (RBN_FIRST - 4),
945                 RBN_ENDDRAG         = (RBN_FIRST - 5),
946                 RBN_DELETINGBAND    = (RBN_FIRST - 6),   
947                 RBN_DELETEDBAND     = (RBN_FIRST - 7),    
948                 RBN_CHILDSIZE       = (RBN_FIRST - 8),
949                 RBN_CHEVRONPUSHED   = (RBN_FIRST - 10)
950         }
951         #endregion
952
953         #region Rebar Messages
954         public enum RebarMessages {
955                 CCM_FIRST           =    0x2000,
956                 WM_USER             =    0x0400,
957                 RB_INSERTBANDA          =       (WM_USER +  1),
958                 RB_DELETEBAND       =   (WM_USER +  2),
959                 RB_GETBARINFO           =       (WM_USER +  3),
960                 RB_SETBARINFO           =       (WM_USER +  4),
961                 RB_GETBANDINFO          =       (WM_USER +  5),
962                 RB_SETBANDINFOA         =       (WM_USER +  6),
963                 RB_SETPARENT            =       (WM_USER +  7),
964                 RB_HITTEST                      =       (WM_USER +  8),
965                 RB_GETRECT                      =       (WM_USER +  9),
966                 RB_INSERTBANDW          =       (WM_USER +  10),
967                 RB_SETBANDINFOW         =       (WM_USER +  11),
968                 RB_GETBANDCOUNT         =       (WM_USER +  12),
969                 RB_GETROWCOUNT          =       (WM_USER +  13),
970                 RB_GETROWHEIGHT         =       (WM_USER +  14),
971                 RB_IDTOINDEX            =       (WM_USER +  16),
972                 RB_GETTOOLTIPS          =       (WM_USER +  17),
973                 RB_SETTOOLTIPS          =       (WM_USER +  18),
974                 RB_SETBKCOLOR           =       (WM_USER +  19),
975                 RB_GETBKCOLOR           =       (WM_USER +  20), 
976                 RB_SETTEXTCOLOR         =       (WM_USER +  21),
977                 RB_GETTEXTCOLOR         =       (WM_USER +  22),
978                 RB_SIZETORECT           =       (WM_USER +  23), 
979                 RB_SETCOLORSCHEME       =       (CCM_FIRST + 2),  
980                 RB_GETCOLORSCHEME       =       (CCM_FIRST + 3), 
981                 RB_BEGINDRAG            =       (WM_USER + 24),
982                 RB_ENDDRAG                      =       (WM_USER + 25),
983                 RB_DRAGMOVE                     =       (WM_USER + 26),
984                 RB_GETBARHEIGHT         =       (WM_USER + 27),
985                 RB_GETBANDINFOW         =       (WM_USER + 28),
986                 RB_GETBANDINFOA         =       (WM_USER + 29),
987                 RB_MINIMIZEBAND         =       (WM_USER + 30),
988                 RB_MAXIMIZEBAND         =       (WM_USER + 31),
989                 RB_GETDROPTARGET        =       (CCM_FIRST + 4),
990                 RB_GETBANDBORDERS       =       (WM_USER + 34),  
991                 RB_SHOWBAND                     =       (WM_USER + 35),      
992                 RB_SETPALETTE           =       (WM_USER + 37),
993                 RB_GETPALETTE           =       (WM_USER + 38),
994                 RB_MOVEBAND                     =       (WM_USER + 39),
995                 RB_SETUNICODEFORMAT =   (CCM_FIRST + 5),
996                 RB_GETUNICODEFORMAT =   (CCM_FIRST + 6)
997         }
998         #endregion
999
1000         #region Rebar Info Mask
1001         public enum RebarInfoMask {
1002                 RBBIM_STYLE         = 0x00000001,
1003                 RBBIM_COLORS        = 0x00000002,
1004                 RBBIM_TEXT          = 0x00000004,
1005                 RBBIM_IMAGE         = 0x00000008,
1006                 RBBIM_CHILD         = 0x00000010,
1007                 RBBIM_CHILDSIZE     = 0x00000020,
1008                 RBBIM_SIZE          = 0x00000040,
1009                 RBBIM_BACKGROUND    = 0x00000080,
1010                 RBBIM_ID            = 0x00000100,
1011                 RBBIM_IDEALSIZE     = 0x00000200,
1012                 RBBIM_LPARAM        = 0x00000400,
1013                 BBIM_HEADERSIZE     = 0x00000800  
1014         }
1015         #endregion
1016
1017         #region Rebar Styles
1018         public enum RebarStylesEx {
1019                 RBBS_BREAK                      =       0x1,
1020                 RBBS_CHILDEDGE          =       0x4,
1021                 RBBS_FIXEDBMP           =       0x20,
1022                 RBBS_GRIPPERALWAYS      =       0x80,
1023                 RBBS_USECHEVRON         =       0x200
1024         }
1025         #endregion
1026
1027         #region Object types
1028         public enum ObjectTypes {
1029                 OBJ_PEN             = 1,
1030                 OBJ_BRUSH           = 2,
1031                 OBJ_DC              = 3,
1032                 OBJ_METADC          = 4,
1033                 OBJ_PAL             = 5,
1034                 OBJ_FONT            = 6,
1035                 OBJ_BITMAP          = 7,
1036                 OBJ_REGION          = 8,
1037                 OBJ_METAFILE        = 9,
1038                 OBJ_MEMDC           = 10,
1039                 OBJ_EXTPEN          = 11,
1040                 OBJ_ENHMETADC       = 12,
1041                 OBJ_ENHMETAFILE     = 13
1042         }
1043         #endregion
1044
1045         #region WM_MENUCHAR return values
1046         public enum MenuCharReturnValues {
1047                 MNC_IGNORE  = 0,
1048                 MNC_CLOSE   = 1,
1049                 MNC_EXECUTE = 2,
1050                 MNC_SELECT  = 3
1051         }
1052         #endregion
1053
1054         #region Background Mode
1055         public enum BackgroundMode {
1056                 TRANSPARENT = 1,
1057                 OPAQUE = 2
1058         }
1059         #endregion
1060
1061         #region ListView Messages
1062         public enum ListViewMessages {
1063                 LVM_FIRST           =    0x1000,
1064                 LVM_GETSUBITEMRECT  = (LVM_FIRST + 56),
1065                 LVM_GETITEMSTATE    = (LVM_FIRST + 44),
1066                 LVM_GETITEMTEXTW    = (LVM_FIRST + 115)
1067         }
1068         #endregion
1069
1070         #region Header Control Messages
1071         public enum HeaderControlMessages {
1072                 HDM_FIRST        =  0x1200,
1073                 HDM_GETITEMRECT  = (HDM_FIRST + 7),
1074                 HDM_HITTEST      = (HDM_FIRST + 6),
1075                 HDM_SETIMAGELIST = (HDM_FIRST + 8),
1076                 HDM_GETITEMW     = (HDM_FIRST + 11),
1077                 HDM_ORDERTOINDEX = (HDM_FIRST + 15)
1078         }
1079         #endregion
1080
1081         #region Header Control Notifications
1082         public enum HeaderControlNotifications {
1083                 HDN_FIRST                        =      (0-300),
1084                 HDN_ITEMCLICKW           =      (HDN_FIRST-22),
1085                 HDN_ITEMDBLCLICKW        =      (HDN_FIRST-23),
1086                 HDN_DIVIDERDBLCLICKW =   (HDN_FIRST-25),
1087                 HDN_BEGINTRACKW          =      (HDN_FIRST-26),
1088                 HDN_ENDTRACKW            =      (HDN_FIRST-27)
1089         }
1090         #endregion
1091
1092         #region Header Control HitTest Flags
1093         public enum HeaderControlHitTestFlags {
1094                 HHT_NOWHERE             = 0x0001,
1095                 HHT_ONHEADER            = 0x0002,
1096                 HHT_ONDIVIDER           = 0x0004,
1097                 HHT_ONDIVOPEN           = 0x0008,
1098                 HHT_ABOVE               = 0x0100,
1099                 HHT_BELOW               = 0x0200,
1100                 HHT_TORIGHT             = 0x0400,
1101                 HHT_TOLEFT              = 0x0800
1102         }
1103         #endregion
1104
1105         #region List View sub item portion
1106         public enum SubItemPortion {
1107                 LVIR_BOUNDS = 0,
1108                 LVIR_ICON   = 1,
1109                 LVIR_LABEL  = 2
1110         }
1111         #endregion
1112
1113         #region Cursor Type
1114         public enum CursorType {
1115                 IDC_ARROW               = 32512,
1116                 IDC_IBEAM       = 32513,
1117                 IDC_WAIT        = 32514,
1118                 IDC_CROSS       = 32515,
1119                 IDC_UPARROW     = 32516,
1120                 IDC_SIZE        = 32640,
1121                 IDC_ICON        = 32641,
1122                 IDC_SIZENWSE    = 32642,
1123                 IDC_SIZENESW    = 32643,
1124                 IDC_SIZEWE      = 32644,
1125                 IDC_SIZENS      = 32645,
1126                 IDC_SIZEALL     = 32646,
1127                 IDC_NO          = 32648,
1128                 IDC_HAND        = 32649,
1129                 IDC_APPSTARTING = 32650,
1130                 IDC_HELP        = 32651
1131         }
1132         #endregion
1133         
1134         #region Tracker Event Flags
1135         public enum TrackerEventFlags : long {
1136                 TME_HOVER       = 0x00000001,
1137                 TME_LEAVE       = 0x00000002,
1138                 TME_QUERY       = 0x40000000,
1139                 TME_CANCEL      = 0x80000000
1140         }
1141         #endregion
1142
1143         #region Mouse Activate Flags
1144         public enum MouseActivateFlags {
1145                 MA_ACTIVATE                     = 1,
1146                 MA_ACTIVATEANDEAT   = 2,
1147                 MA_NOACTIVATE       = 3,
1148                 MA_NOACTIVATEANDEAT = 4
1149         }
1150         #endregion
1151
1152         #region Dialog Codes
1153         public enum DialogCodes {
1154                 DLGC_WANTARROWS                 = 0x0001,
1155                 DLGC_WANTTAB                    = 0x0002,
1156                 DLGC_WANTALLKEYS                = 0x0004,
1157                 DLGC_WANTMESSAGE                = 0x0004,
1158                 DLGC_HASSETSEL                  = 0x0008,
1159                 DLGC_DEFPUSHBUTTON              = 0x0010,
1160                 DLGC_UNDEFPUSHBUTTON    = 0x0020,
1161                 DLGC_RADIOBUTTON                = 0x0040,
1162                 DLGC_WANTCHARS                  = 0x0080,
1163                 DLGC_STATIC                             = 0x0100,
1164                 DLGC_BUTTON                             = 0x2000
1165         }
1166         #endregion
1167
1168         #region Update Layered Windows Flags
1169         public enum UpdateLayeredWindowFlags {
1170                 ULW_COLORKEY = 0x00000001,
1171                 ULW_ALPHA    = 0x00000002,
1172                 ULW_OPAQUE   = 0x00000004
1173         }
1174         #endregion
1175
1176         #region Blend Flags
1177         public enum BlendFlags : byte {
1178                 AC_SRC_OVER  = 0x00,
1179                 AC_SRC_ALPHA = 0x01
1180         }
1181         #endregion
1182
1183         #region ComboBox styles
1184         internal enum ComboBoxStyles : uint {
1185                 CBS_SIMPLE            =0x0001,
1186                 CBS_DROPDOWN          =0x0002,
1187                 CBS_DROPDOWNLIST      =0x0003,
1188                 CBS_OWNERDRAWFIXED    =0x0010,
1189                 CBS_OWNERDRAWVARIABLE =0x0020,
1190                 CBS_AUTOHSCROLL       =0x0040,
1191                 CBS_OEMCONVERT        =0x0080,
1192                 CBS_SORT              =0x0100,
1193                 CBS_HASSTRINGS        =0x0200,
1194                 CBS_NOINTEGRALHEIGHT  =0x0400,
1195                 CBS_DISABLENOSCROLL   =0x0800,
1196                 CBS_UPPERCASE         =0x2000,
1197                 CBS_LOWERCASE         =0x4000 
1198         }
1199         #endregion
1200
1201         #region ComboBox messages
1202         public enum ComboBoxMessages {
1203                 CB_GETEDITSEL            =0x140,
1204                 CB_LIMITTEXT             =0x141,
1205                 CB_SETEDITSEL            =0x142,
1206                 CB_ADDSTRING             =0x143,
1207                 CB_DELETESTRING          =0x144,
1208                 CB_DIR                   =0x145,
1209                 CB_GETCOUNT              =0x146,
1210                 CB_GETCURSEL             =0x147,
1211                 CB_GETLBTEXT             =0x148,
1212                 CB_GETLBTEXTLEN          =0x149,
1213                 CB_INSERTSTRING          =0x14A,
1214                 CB_RESETCONTENT          =0x14B,
1215                 CB_FINDSTRING            =0x14C,
1216                 CB_SELECTSTRING          =0x14D,
1217                 CB_SETCURSEL             =0x14E,
1218                 CB_SHOWDROPDOWN          =0x14F,
1219                 CB_GETITEMDATA           =0x150,
1220                 CB_SETITEMDATA           =0x151,
1221                 CB_GETDROPPEDCONTROLRECT =0x152,
1222                 CB_SETITEMHEIGHT         =0x153,
1223                 CB_GETITEMHEIGHT         =0x154,
1224                 CB_SETEXTENDEDUI         =0x155,
1225                 CB_GETEXTENDEDUI         =0x156,
1226                 CB_GETDROPPEDSTATE       =0x157,
1227                 CB_FINDSTRINGEXACT       =0x158,
1228                 CB_SETLOCALE             =0x159,
1229                 CB_GETLOCALE             =0x15A,
1230                 CB_GETTOPINDEX           =0x15b,
1231                 CB_SETTOPINDEX           =0x15c,
1232                 CB_GETHORIZONTALEXTENT   =0x15d,
1233                 CB_SETHORIZONTALEXTENT   =0x15e,
1234                 CB_GETDROPPEDWIDTH       =0x15f,
1235                 CB_SETDROPPEDWIDTH       =0x160,
1236                 CB_INITSTORAGE           =0x161,
1237                 CB_MSGMAX                =0x162,
1238                 CB_MSGMAX_351            =0x15B
1239         }
1240         #endregion
1241
1242         #region TreeView Messages
1243         public enum TreeViewMessages : int {
1244                 TV_FIRST            =  0x1100,
1245                 TVM_INSERTITEMA     =  ( TV_FIRST + 0 ),
1246                 TVM_DELETEITEM      =  ( TV_FIRST + 1 ),
1247                 TVM_EXPAND          =  ( TV_FIRST + 2 ),
1248                 TVM_GETITEMRECT     =  ( TV_FIRST + 4 ),
1249                 TVM_GETCOUNT        =  ( TV_FIRST + 5 ),
1250                 TVM_GETINDENT       =  ( TV_FIRST + 6 ),
1251                 TVM_SETINDENT       =  ( TV_FIRST + 7 ),
1252                 TVM_GETIMAGELIST    =  ( TV_FIRST + 8 ),
1253                 TVM_SETIMAGELIST    =  ( TV_FIRST + 9 ),
1254                 TVM_GETNEXTITEM     =  ( TV_FIRST + 10 ),
1255                 TVM_SELECTITEM      =  ( TV_FIRST + 11 ),
1256                 TVM_GETITEMA        =  ( TV_FIRST + 12 ),
1257                 TVM_SETITEMA        =  ( TV_FIRST + 13 ),
1258                 TVM_EDITLABELA      =  ( TV_FIRST + 14 ),
1259                 TVM_GETEDITCONTROL  =  ( TV_FIRST + 15 ),
1260                 TVM_GETVISIBLECOUNT =  ( TV_FIRST + 16 ),
1261                 TVM_HITTEST         =  ( TV_FIRST + 17 ),
1262                 TVM_CREATEDRAGIMAGE =  ( TV_FIRST + 18 ),
1263                 TVM_SORTCHILDREN    =  ( TV_FIRST + 19 ),
1264                 TVM_ENSUREVISIBLE   =  ( TV_FIRST + 20 ),
1265                 TVM_SORTCHILDRENCB  =  ( TV_FIRST + 21 ),
1266                 TVM_SETBKCOLOR      =  ( TV_FIRST + 29 ),
1267                 TVM_SETTEXTCOLOR    =  ( TV_FIRST + 30 ),
1268                 TVM_GETITEMW        =  ( TV_FIRST + 62 ),
1269                 TVM_SETITEMW        =  ( TV_FIRST + 63 ),
1270                 TVM_INSERTITEMW     =  ( TV_FIRST + 50 )
1271         }
1272         #endregion
1273
1274         #region TreeViewImageListFlags
1275         public enum TreeViewImageListFlags {
1276                 TVSIL_NORMAL  = 0,
1277                 TVSIL_STATE   = 2
1278         }
1279         #endregion
1280
1281         #region TreeViewItem Flags
1282         [Flags]
1283         public enum TreeViewItemFlags {
1284                 TVIF_NONE               = 0x0000,
1285                 TVIF_TEXT               = 0x0001,
1286                 TVIF_IMAGE              = 0x0002,
1287                 TVIF_PARAM              = 0x0004,
1288                 TVIF_STATE              = 0x0008,
1289                 TVIF_HANDLE             = 0x0010,
1290                 TVIF_SELECTEDIMAGE      = 0x0020,
1291                 TVIF_CHILDREN           = 0x0040,
1292                 TVIF_INTEGRAL           = 0x0080,
1293                 I_CHILDRENCALLBACK      = -1,
1294                 LPSTR_TEXTCALLBACK      = -1,
1295                 I_IMAGECALLBACK                 = -1,
1296                 I_IMAGENONE                             = -2
1297         }
1298         #endregion
1299
1300         public enum TreeViewItemSelFlags : int {
1301                 TVGN_ROOT               = 0x0000,
1302                 TVGN_NEXT               = 0x0001,
1303                 TVGN_PREVIOUS           = 0x0002,
1304                 TVGN_PARENT             = 0x0003,
1305                 TVGN_CHILD              = 0x0004,
1306                 TVGN_FIRSTVISIBLE       = 0x0005,
1307                 TVGN_NEXTVISIBLE        = 0x0006,
1308                 TVGN_PREVIOUSVISIBLE    = 0x0007,
1309                 TVGN_DROPHILITE         = 0x0008,
1310                 TVGN_CARET              = 0x0009,
1311                 TVGN_LASTVISIBLE        = 0x000A
1312         }
1313
1314         #region ListViewItem flags
1315         public enum ListViewItemFlags {
1316                 LVIF_TEXT               = 0x0001,
1317                 LVIF_IMAGE              = 0x0002,
1318                 LVIF_PARAM              = 0x0004,
1319                 LVIF_STATE              = 0x0008,
1320                 LVIF_INDENT             = 0x0010,
1321                 LVIF_NORECOMPUTE        = 0x0800
1322         }
1323         #endregion
1324
1325         #region HeaderItem flags
1326         public enum HeaderItemFlags {
1327                 HDI_WIDTH               = 0x0001,
1328                 HDI_HEIGHT              = HDI_WIDTH,
1329                 HDI_TEXT                = 0x0002,
1330                 HDI_FORMAT              = 0x0004,
1331                 HDI_LPARAM              = 0x0008,
1332                 HDI_BITMAP              = 0x0010,
1333                 HDI_IMAGE               = 0x0020,
1334                 HDI_DI_SETITEM          = 0x0040,
1335                 HDI_ORDER               = 0x0080
1336         }
1337         #endregion
1338
1339         #region GetDCExFlags
1340         public enum GetDCExFlags {
1341                 DCX_WINDOW           = 0x00000001,
1342                 DCX_CACHE            = 0x00000002,
1343                 DCX_NORESETATTRS     = 0x00000004,
1344                 DCX_CLIPCHILDREN     = 0x00000008,
1345                 DCX_CLIPSIBLINGS     = 0x00000010,
1346                 DCX_PARENTCLIP       = 0x00000020,
1347                 DCX_EXCLUDERGN       = 0x00000040,
1348                 DCX_INTERSECTRGN     = 0x00000080,
1349                 DCX_EXCLUDEUPDATE    = 0x00000100,
1350                 DCX_INTERSECTUPDATE  = 0x00000200,
1351                 DCX_LOCKWINDOWUPDATE = 0x00000400,
1352                 DCX_VALIDATE         = 0x00200000
1353         }
1354         #endregion
1355
1356         #region HitTest 
1357         public enum HitTest {
1358                 HTERROR             = (-2),
1359                 HTTRANSPARENT       = (-1),
1360                 HTNOWHERE           =   0,
1361                 HTCLIENT            =   1,
1362                 HTCAPTION           =   2,
1363                 HTSYSMENU           =   3,
1364                 HTGROWBOX           =   4,
1365                 HTSIZE              =   HTGROWBOX,
1366                 HTMENU              =   5,
1367                 HTHSCROLL           =   6,
1368                 HTVSCROLL           =   7,
1369                 HTMINBUTTON         =   8,
1370                 HTMAXBUTTON         =   9,
1371                 HTLEFT              =   10,
1372                 HTRIGHT             =   11,
1373                 HTTOP               =   12,
1374                 HTTOPLEFT           =   13,
1375                 HTTOPRIGHT          =   14,
1376                 HTBOTTOM            =   15,
1377                 HTBOTTOMLEFT        =   16,
1378                 HTBOTTOMRIGHT       =   17,
1379                 HTBORDER            =   18,
1380                 HTREDUCE            =   HTMINBUTTON,
1381                 HTZOOM              =   HTMAXBUTTON,
1382                 HTSIZEFIRST         =   HTLEFT,
1383                 HTSIZELAST          =   HTBOTTOMRIGHT,
1384                 HTOBJECT            =   19,
1385                 HTCLOSE             =   20,
1386                 HTHELP              =   21
1387         }
1388         #endregion
1389
1390         #region ActivateFlags
1391         public enum ActivateState {
1392                 WA_INACTIVE     = 0,
1393                 WA_ACTIVE       = 1,
1394                 WA_CLICKACTIVE  = 2
1395         }
1396         #endregion
1397
1398         #region StrechModeFlags
1399         public enum StrechModeFlags {
1400                 BLACKONWHITE            = 1,
1401                 WHITEONBLACK        = 2,
1402                 COLORONCOLOR        = 3,
1403                 HALFTONE            = 4,
1404                 MAXSTRETCHBLTMODE   = 4
1405         }
1406         #endregion
1407
1408         #region ScrollBarFlags
1409         public enum ScrollBarFlags {
1410                 SBS_HORZ                    = 0x0000,
1411                 SBS_VERT                    = 0x0001,
1412                 SBS_TOPALIGN                = 0x0002,
1413                 SBS_LEFTALIGN               = 0x0002,
1414                 SBS_BOTTOMALIGN             = 0x0004,
1415                 SBS_RIGHTALIGN              = 0x0004,
1416                 SBS_SIZEBOXTOPLEFTALIGN     = 0x0002,
1417                 SBS_SIZEBOXBOTTOMRIGHTALIGN = 0x0004,
1418                 SBS_SIZEBOX                 = 0x0008,
1419                 SBS_SIZEGRIP                = 0x0010
1420         }
1421         #endregion
1422
1423         #region ScrollBarMessages
1424         public enum ScrollBarMessages 
1425         {
1426                 SBM_SETPOS                  = 0x00E0,
1427                 SBM_GETPOS                  = 0x00E1,
1428                 SBM_SETRANGE                = 0x00E2,
1429                 SBM_GETRANGE                = 0x00E3
1430         }
1431         #endregion
1432
1433         #region System Metrics Codes
1434         public enum SystemMetricsCodes {
1435                 SM_CXSCREEN             = 0,
1436                 SM_CYSCREEN             = 1,
1437                 SM_CXVSCROLL            = 2,
1438                 SM_CYHSCROLL            = 3,
1439                 SM_CYCAPTION            = 4,
1440                 SM_CXBORDER             = 5,
1441                 SM_CYBORDER             = 6,
1442                 SM_CXDLGFRAME           = 7,
1443                 SM_CYDLGFRAME           = 8,
1444                 SM_CYVTHUMB             = 9,
1445                 SM_CXHTHUMB             = 10,
1446                 SM_CXICON               = 11,
1447                 SM_CYICON               = 12,
1448                 SM_CXCURSOR             = 13,
1449                 SM_CYCURSOR             = 14,
1450                 SM_CYMENU               = 15,
1451                 SM_CXFULLSCREEN         = 16,
1452                 SM_CYFULLSCREEN         = 17,
1453                 SM_CYKANJIWINDOW        = 18,
1454                 SM_MOUSEPRESENT         = 19,
1455                 SM_CYVSCROLL            = 20,
1456                 SM_CXHSCROLL            = 21,
1457                 SM_DEBUG                = 22,
1458                 SM_SWAPBUTTON           = 23,
1459                 SM_RESERVED1            = 24,
1460                 SM_RESERVED2            = 25,
1461                 SM_RESERVED3            = 26,
1462                 SM_RESERVED4            = 27,
1463                 SM_CXMIN                = 28,
1464                 SM_CYMIN                = 29,
1465                 SM_CXSIZE               = 30,
1466                 SM_CYSIZE               = 31,
1467                 SM_CXFRAME              = 32,
1468                 SM_CYFRAME              = 33,
1469                 SM_CXMINTRACK           = 34,
1470                 SM_CYMINTRACK           = 35,
1471                 SM_CXDOUBLECLK          = 36,
1472                 SM_CYDOUBLECLK          = 37,
1473                 SM_CXICONSPACING        = 38,
1474                 SM_CYICONSPACING        = 39,
1475                 SM_MENUDROPALIGNMENT    = 40,
1476                 SM_PENWINDOWS           = 41,
1477                 SM_DBCSENABLED          = 42,
1478                 SM_CMOUSEBUTTONS        = 43,
1479                 SM_CXFIXEDFRAME         = SM_CXDLGFRAME, 
1480                 SM_CYFIXEDFRAME         = SM_CYDLGFRAME,  
1481                 SM_CXSIZEFRAME          = SM_CXFRAME,    
1482                 SM_CYSIZEFRAME          = SM_CYFRAME,    
1483                 SM_SECURE               = 44,
1484                 SM_CXEDGE               = 45,
1485                 SM_CYEDGE               = 46,
1486                 SM_CXMINSPACING         = 47,
1487                 SM_CYMINSPACING         = 48,
1488                 SM_CXSMICON             = 49,
1489                 SM_CYSMICON             = 50,
1490                 SM_CYSMCAPTION          = 51,
1491                 SM_CXSMSIZE             = 52,
1492                 SM_CYSMSIZE             = 53,
1493                 SM_CXMENUSIZE           = 54,
1494                 SM_CYMENUSIZE           = 55,
1495                 SM_ARRANGE              = 56,
1496                 SM_CXMINIMIZED          = 57,
1497                 SM_CYMINIMIZED          = 58,
1498                 SM_CXMAXTRACK           = 59,
1499                 SM_CYMAXTRACK           = 60,
1500                 SM_CXMAXIMIZED          = 61,
1501                 SM_CYMAXIMIZED          = 62,
1502                 SM_NETWORK              = 63,
1503                 SM_CLEANBOOT            = 67,
1504                 SM_CXDRAG               = 68,
1505                 SM_CYDRAG               = 69,
1506                 SM_SHOWSOUNDS           = 70,
1507                 SM_CXMENUCHECK          = 71,  
1508                 SM_CYMENUCHECK          = 72,
1509                 SM_SLOWMACHINE          = 73,
1510                 SM_MIDEASTENABLED       = 74,
1511                 SM_MOUSEWHEELPRESENT    = 75,
1512                 SM_XVIRTUALSCREEN       = 76,
1513                 SM_YVIRTUALSCREEN       = 77,
1514                 SM_CXVIRTUALSCREEN      = 78,
1515                 SM_CYVIRTUALSCREEN      = 79,
1516                 SM_CMONITORS            = 80,
1517                 SM_SAMEDISPLAYFORMAT    = 81,
1518                 SM_CMETRICS             = 83
1519         }
1520         #endregion
1521
1522         #region ScrollBarTypes
1523         public enum ScrollBarTypes {
1524                 SB_HORZ  = 0,
1525                 SB_VERT  = 1,
1526                 SB_CTL   = 2,
1527                 SB_BOTH  = 3
1528         }
1529         #endregion
1530
1531         #region SrollBarInfoFlags
1532         public enum ScrollBarInfoFlags {
1533                 SIF_RANGE           = 0x0001,
1534                 SIF_PAGE            = 0x0002,
1535                 SIF_POS             = 0x0004,
1536                 SIF_DISABLENOSCROLL = 0x0008,
1537                 SIF_TRACKPOS        = 0x0010,
1538                 SIF_ALL             = (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
1539         }
1540         #endregion
1541
1542         #region Enable ScrollBar flags
1543         public enum EnableScrollBarFlags {
1544                 ESB_ENABLE_BOTH     = 0x0000,
1545                 ESB_DISABLE_BOTH    = 0x0003,
1546                 ESB_DISABLE_LEFT    = 0x0001,
1547                 ESB_DISABLE_RIGHT   = 0x0002,
1548                 ESB_DISABLE_UP      = 0x0001,
1549                 ESB_DISABLE_DOWN    = 0x0002,
1550                 ESB_DISABLE_LTUP    = ESB_DISABLE_LEFT,
1551                 ESB_DISABLE_RTDN    = ESB_DISABLE_RIGHT
1552         }
1553         #endregion
1554
1555         #region Scroll Requests
1556         public enum ScrollBarRequests {
1557                 SB_LINEUP           = 0,
1558                 SB_LINELEFT         = 0,
1559                 SB_LINEDOWN         = 1,
1560                 SB_LINERIGHT        = 1,
1561                 SB_PAGEUP           = 2,
1562                 SB_PAGELEFT         = 2,
1563                 SB_PAGEDOWN         = 3,
1564                 SB_PAGERIGHT        = 3,
1565                 SB_THUMBPOSITION    = 4,
1566                 SB_THUMBTRACK       = 5,
1567                 SB_TOP              = 6,
1568                 SB_LEFT             = 6,
1569                 SB_BOTTOM           = 7,
1570                 SB_RIGHT            = 7,
1571                 SB_ENDSCROLL        = 8
1572         }
1573         #endregion
1574
1575         #region SrollWindowEx flags
1576         public enum ScrollWindowExFlags {
1577                 SW_SCROLLCHILDREN   = 0x0001,  
1578                 SW_INVALIDATE       = 0x0002,  
1579                 SW_ERASE            = 0x0004,  
1580                 SW_SMOOTHSCROLL     = 0x0010  
1581         }
1582         #endregion
1583
1584         #region ImageListFlags
1585         public enum  ImageListFlags {
1586                 ILC_MASK             = 0x0001,
1587                 ILC_COLOR            = 0x0000,
1588                 ILC_COLORDDB         = 0x00FE,
1589                 ILC_COLOR4           = 0x0004,
1590                 ILC_COLOR8           = 0x0008,
1591                 ILC_COLOR16          = 0x0010,
1592                 ILC_COLOR24          = 0x0018,
1593                 ILC_COLOR32          = 0x0020,
1594                 ILC_PALETTE          = 0x0800      
1595         }
1596         #endregion
1597
1598         #region ImageListDrawFlags
1599         public enum ImageListDrawFlags {
1600                 ILD_NORMAL              = 0x0000,
1601                 ILD_TRANSPARENT         = 0x0001,
1602                 ILD_MASK                = 0x0010,
1603                 ILD_IMAGE               = 0x0020,
1604                 ILD_ROP                 = 0x0040,
1605                 ILD_BLEND25             = 0x0002,
1606                 ILD_BLEND50             = 0x0004,
1607                 ILD_OVERLAYMASK         = 0x0F00
1608         }
1609         #endregion
1610
1611         #region List View Notifications
1612         public enum ListViewNotifications {
1613                 LVN_FIRST             =  (0-100),
1614                 LVN_GETDISPINFOW      = (LVN_FIRST-77),
1615                 LVN_SETDISPINFOA      = (LVN_FIRST-51)
1616         }
1617         #endregion
1618
1619         #region Drive Type
1620         public enum DriveType {
1621                 DRIVE_UNKNOWN     = 0,
1622                 DRIVE_NO_ROOT_DIR = 1,
1623                 DRIVE_REMOVABLE   = 2,
1624                 DRIVE_FIXED       = 3,
1625                 DRIVE_REMOTE      = 4,
1626                 DRIVE_CDROM       = 5,
1627                 DRIVE_RAMDISK     = 6
1628         }
1629         #endregion
1630
1631         #region Shell File Info Flags
1632         public enum ShellFileInfoFlags {
1633                 SHGFI_ICON              = 0x000000100,
1634                 SHGFI_DISPLAYNAME       = 0x000000200,     
1635                 SHGFI_TYPENAME          = 0x000000400,    
1636                 SHGFI_ATTRIBUTES        = 0x000000800,   
1637                 SHGFI_ICONLOCATION      = 0x000001000,     
1638                 SHGFI_EXETYPE           = 0x000002000,     
1639                 SHGFI_SYSICONINDEX      = 0x000004000,    
1640                 SHGFI_LINKOVERLAY       = 0x000008000,     
1641                 SHGFI_SELECTED          = 0x000010000,     
1642                 SHGFI_ATTR_SPECIFIED    = 0x000020000,     
1643                 SHGFI_LARGEICON         = 0x000000000,     
1644                 SHGFI_SMALLICON         = 0x000000001,     
1645                 SHGFI_OPENICON          = 0x000000002,     
1646                 SHGFI_SHELLICONSIZE     = 0x000000004,     
1647                 SHGFI_PIDL              = 0x000000008,     
1648                 SHGFI_USEFILEATTRIBUTES = 0x000000010     
1649         }
1650         #endregion
1651
1652         #region Shell Special Folder
1653         public enum ShellSpecialFolder {
1654                 CSIDL_DESKTOP                   = 0x0000,
1655                 CSIDL_INTERNET                  = 0x0001,
1656                 CSIDL_PROGRAMS                  = 0x0002,
1657                 CSIDL_CONTROLS                  = 0x0003,
1658                 CSIDL_PRINTERS                  = 0x0004,
1659                 CSIDL_PERSONAL                  = 0x0005,
1660                 CSIDL_FAVORITES                 = 0x0006,
1661                 CSIDL_STARTUP                   = 0x0007,
1662                 CSIDL_RECENT                    = 0x0008,
1663                 CSIDL_SENDTO                    = 0x0009,
1664                 CSIDL_BITBUCKET                 = 0x000a,
1665                 CSIDL_STARTMENU                 = 0x000b,
1666                 CSIDL_DESKTOPDIRECTORY          = 0x0010,
1667                 CSIDL_DRIVES                    = 0x0011,
1668                 CSIDL_NETWORK                   = 0x0012,
1669                 CSIDL_NETHOOD                   = 0x0013,
1670                 CSIDL_FONTS                     = 0x0014,
1671                 CSIDL_TEMPLATES                 = 0x0015,
1672                 CSIDL_COMMON_STARTMENU          = 0x0016,
1673                 CSIDL_COMMON_PROGRAMS           = 0X0017,
1674                 CSIDL_COMMON_STARTUP            = 0x0018,
1675                 CSIDL_COMMON_DESKTOPDIRECTORY   = 0x0019,
1676                 CSIDL_APPDATA                   = 0x001a,
1677                 CSIDL_PRINTHOOD                 = 0x001b,
1678                 CSIDL_ALTSTARTUP                = 0x001d,         
1679                 CSIDL_COMMON_ALTSTARTUP         = 0x001e,         
1680                 CSIDL_COMMON_FAVORITES          = 0x001f,
1681                 CSIDL_INTERNET_CACHE            = 0x0020,
1682                 CSIDL_COOKIES                   = 0x0021,
1683                 CSIDL_HISTORY                   = 0x0022
1684         }
1685         #endregion
1686
1687         #region ShellEnumFlags
1688         [Flags]
1689         public enum ShellEnumFlags {
1690                 SHCONTF_FOLDERS         = 32,      // for shell browser
1691                 SHCONTF_NONFOLDERS      = 64,      // for default view
1692                 SHCONTF_INCLUDEHIDDEN   = 128,     // for hidden/system objects
1693         }
1694         #endregion
1695
1696         #region ShellGetDisplayNameOfFlags
1697         [Flags]
1698         public enum ShellGetDisplayNameOfFlags {
1699                 SHGDN_NORMAL            = 0,        // default (display purpose)
1700                 SHGDN_INFOLDER          = 1,        // displayed under a folder (relative)
1701                 SHGDN_INCLUDE_NONFILESYS = 0x2000,  // if not set, display names for shell name space items that are not in the file system will fail.
1702                 SHGDN_FORADDRESSBAR     = 0x4000,   // for displaying in the address (drives dropdown) bar
1703                 SHGDN_FORPARSING        = 0x8000,   // for ParseDisplayName or path
1704         }
1705         #endregion
1706
1707         #region STRRETFlags
1708         [Flags]
1709         public enum STRRETFlags {
1710                 STRRET_WSTR     = 0x0000,                       // Use STRRET.pOleStr
1711                 STRRET_OFFSET   = 0x0001,                       // Use STRRET.uOffset to Ansi
1712                 STRRET_CSTR     = 0x0002                        // Use STRRET.cStr
1713         }
1714         #endregion
1715
1716         #region GetAttributeOfFlags
1717         [Flags]
1718         public enum GetAttributeOfFlags : long {
1719                 DROPEFFECT_NONE        = 0,
1720                 DROPEFFECT_COPY        = 1,
1721                 DROPEFFECT_MOVE            = 2,
1722                 DROPEFFECT_LINK            = 4,
1723                 DROPEFFECT_SCROLL          = 0x80000000,
1724                 SFGAO_CANCOPY          = DROPEFFECT_COPY,       // Objects can be copied
1725                 SFGAO_CANMOVE          = DROPEFFECT_MOVE,       // Objects can be moved
1726                 SFGAO_CANLINK          = DROPEFFECT_LINK,       // Objects can be linked
1727                 SFGAO_CANRENAME        = 0x00000010,            // Objects can be renamed
1728                 SFGAO_CANDELETE        = 0x00000020,            // Objects can be deleted
1729                 SFGAO_HASPROPSHEET     = 0x00000040,            // Objects have property sheets
1730                 SFGAO_DROPTARGET       = 0x00000100,            // Objects are drop target
1731                 SFGAO_CAPABILITYMASK   = 0x00000177,
1732                 SFGAO_LINK             = 0x00010000,            // Shortcut (link)
1733                 SFGAO_SHARE            = 0x00020000,            // shared
1734                 SFGAO_READONLY         = 0x00040000,            // read-only
1735                 SFGAO_GHOSTED          = 0x00080000,            // ghosted icon
1736                 SFGAO_HIDDEN           = 0x00080000,            // hidden object
1737                 SFGAO_DISPLAYATTRMASK  = 0x000F0000,
1738                 SFGAO_FILESYSANCESTOR  = 0x10000000,            // It contains file system folder
1739                 SFGAO_FOLDER           = 0x20000000,            // It's a folder.
1740                 SFGAO_FILESYSTEM       = 0x40000000,            // is a file system thing (file/folder/root)
1741                 SFGAO_HASSUBFOLDER     = 0x80000000,            // Expandable in the map pane
1742                 SFGAO_CONTENTSMASK     = 0x80000000,
1743                 SFGAO_VALIDATE         = 0x01000000,            // invalidate cached information
1744                 SFGAO_REMOVABLE        = 0x02000000,            // is this removeable media?
1745                 SFGAO_COMPRESSED       = 0x04000000,            // Object is compressed (use alt color)
1746                 SFGAO_BROWSABLE        = 0x08000000,            // is in-place browsable
1747                 SFGAO_NONENUMERATED    = 0x00100000,            // is a non-enumerated object
1748                 SFGAO_NEWCONTENT       = 0x00200000                     // should show bold in explorer tree
1749         }
1750         #endregion
1751
1752         #region ListViewItemState
1753         public enum ListViewItemState {
1754                 LVIS_FOCUSED            = 0x0001,
1755                 LVIS_SELECTED           = 0x0002,
1756                 LVIS_CUT                = 0x0004,
1757                 LVIS_DROPHILITED        = 0x0008,
1758                 LVIS_ACTIVATING         = 0x0020,
1759                 LVIS_OVERLAYMASK        = 0x0F00,
1760                 LVIS_STATEIMAGEMASK     = 0xF000
1761         }
1762         #endregion
1763
1764         #region TreeViewItemInsertPosition
1765         public enum TreeViewItemInsertPosition : uint {
1766                 TVI_ROOT                = 0xFFFF0000,
1767                 TVI_FIRST               = 0xFFFF0001,
1768                 TVI_LAST                = 0xFFFF0002,
1769                 TVI_SORT                = 0xFFFF0003
1770         }
1771         #endregion
1772
1773         #region TreeViewNotifications
1774         public enum TreeViewNotifications {
1775                 TVN_FIRST               =  -400, 
1776                 TVN_SELCHANGINGA        =(TVN_FIRST-1),
1777                 TVN_SELCHANGINGW        =(TVN_FIRST-50),
1778                 TVN_SELCHANGEDA         =(TVN_FIRST-2),
1779                 TVN_SELCHANGEDW         =(TVN_FIRST-51),
1780                 TVN_GETDISPINFOA        =(TVN_FIRST-3),
1781                 TVN_GETDISPINFOW        =(TVN_FIRST-52),
1782                 TVN_SETDISPINFOA        =(TVN_FIRST-4),
1783                 TVN_SETDISPINFOW        =(TVN_FIRST-53),
1784                 TVN_ITEMEXPANDINGA      = (TVN_FIRST-5),
1785                 TVN_ITEMEXPANDINGW      = (TVN_FIRST-54),
1786                 TVN_ITEMEXPANDEDA       = (TVN_FIRST-6),
1787                 TVN_ITEMEXPANDEDW       = (TVN_FIRST-55),
1788                 TVN_BEGINDRAGA          = (TVN_FIRST-7),
1789                 TVN_BEGINDRAGW          = (TVN_FIRST-56),
1790                 TVN_BEGINRDRAGA         = (TVN_FIRST-8),
1791                 TVN_BEGINRDRAGW         = (TVN_FIRST-57),
1792                 TVN_DELETEITEMA         = (TVN_FIRST-9),
1793                 TVN_DELETEITEMW         = (TVN_FIRST-58),
1794                 TVN_BEGINLABELEDITA     = (TVN_FIRST-10),
1795                 TVN_BEGINLABELEDITW     = (TVN_FIRST-59),
1796                 TVN_ENDLABELEDITA       = (TVN_FIRST-11),
1797                 TVN_ENDLABELEDITW       = (TVN_FIRST-60),
1798                 TVN_KEYDOWN             = (TVN_FIRST-12),
1799                 TVN_GETINFOTIPA         = (TVN_FIRST-13),
1800                 TVN_GETINFOTIPW         = (TVN_FIRST-14),
1801                 TVN_SINGLEEXPAND        = (TVN_FIRST-15)
1802         }
1803         #endregion
1804
1805         #region TreeViewItemExpansion
1806         public enum TreeViewItemExpansion {
1807                 TVE_COLLAPSE            = 0x0001,
1808                 TVE_EXPAND              = 0x0002,
1809                 TVE_TOGGLE              = 0x0003,
1810                 TVE_EXPANDPARTIAL       = 0x4000,
1811                 TVE_COLLAPSERESET       = 0x8000
1812         }
1813         #endregion
1814
1815         #region WinErrors
1816         public enum WinErrors {
1817                 NOERROR = 0x00000000
1818         }
1819         #endregion
1820
1821         #region TreeViewHitTest
1822         public enum TreeViewHitTestFlags {
1823                 TVHT_NOWHERE           = 0x0001,
1824                 TVHT_ONITEMICON        = 0x0002,
1825                 TVHT_ONITEMLABEL       = 0x0004,
1826                 TVHT_ONITEM            = (TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON),
1827                 TVHT_ONITEMINDENT      = 0x0008,
1828                 TVHT_ONITEMBUTTON      = 0x0010,
1829                 TVHT_ONITEMRIGHT       = 0x0020,
1830                 TVHT_ONITEMSTATEICON   = 0x0040,
1831                 TVHT_ABOVE             = 0x0100,
1832                 TVHT_BELOW             = 0x0200,
1833                 TVHT_TORIGHT           = 0x0400,
1834                 TVHT_TOLEFT            = 0x0800
1835         }
1836         #endregion
1837
1838         #region TreeViewItemState
1839         public enum TreeViewItemState {
1840                 TVIS_SELECTED           = 0x0002,
1841                 TVIS_CUT                = 0x0004,
1842                 TVIS_DROPHILITED        = 0x0008,
1843                 TVIS_BOLD               = 0x0010,
1844                 TVIS_EXPANDED           = 0x0020,
1845                 TVIS_EXPANDEDONCE       = 0x0040,
1846                 TVIS_EXPANDPARTIAL      = 0x0080,
1847                 TVIS_OVERLAYMASK        = 0x0F00,
1848                 TVIS_STATEIMAGEMASK     = 0xF000,
1849                 TVIS_USERMASK           = 0xF000
1850         }
1851         #endregion
1852
1853         public enum TreeViewStyles : int {
1854                 TVS_HASBUTTONS          = 0x0001,
1855                 TVS_HASLINES            = 0x0002,
1856                 TVS_LINESATROOT         = 0x0004,
1857                 TVS_EDITLABELS          = 0x0008,
1858                 TVS_DISABLEDRAGDROP     = 0x0010,
1859                 TVS_SHOWSELALWAYS       = 0x0020,
1860                 TVS_RTLREADING          = 0x0040,
1861                 TVS_NOTOOLTIPS          = 0x0080,
1862                 TVS_CHECKBOXES          = 0x0100,
1863                 TVS_TRACKSELECT         = 0x0200,
1864                 TVS_SINGLEEXPAND        = 0x0400,
1865                 TVS_INFOTIP             = 0x0800,
1866                 TVS_FULLROWSELECT       = 0x1000,
1867                 TVS_NOSCROLL            = 0x2000,
1868                 TVS_NONEVENHEIGHT       = 0x4000
1869         }
1870
1871         #region Windows System Objects
1872         public enum SystemObject : long {
1873                 // Reserved IDs for system objects
1874                 OBJID_WINDOW        = 0x00000000,
1875                 OBJID_SYSMENU       = 0xFFFFFFFF,
1876                 OBJID_TITLEBAR      = 0xFFFFFFFE,
1877                 OBJID_MENU          = 0xFFFFFFFD,
1878                 OBJID_CLIENT        = 0xFFFFFFFC,
1879                 OBJID_VSCROLL       = 0xFFFFFFFB,
1880                 OBJID_HSCROLL       = 0xFFFFFFFA,
1881                 OBJID_SIZEGRIP      = 0xFFFFFFF9,
1882                 OBJID_CARET         = 0xFFFFFFF8,
1883                 OBJID_CURSOR        = 0xFFFFFFF7,
1884                 OBJID_ALERT         = 0xFFFFFFF6,
1885                 OBJID_SOUND         = 0xFFFFFFF5
1886         }
1887         #endregion
1888
1889         #region SystemState
1890         public enum SystemState {
1891                 STATE_SYSTEM_UNAVAILABLE        = 0x00000001, // Disabled
1892                 STATE_SYSTEM_SELECTED           = 0x00000002,
1893                 STATE_SYSTEM_FOCUSED            = 0x00000004,
1894                 STATE_SYSTEM_PRESSED            = 0x00000008,
1895                 STATE_SYSTEM_CHECKED            = 0x00000010,
1896                 STATE_SYSTEM_MIXED              = 0x00000020, // 3-state checkbox or toolbar button
1897                 STATE_SYSTEM_READONLY           = 0x00000040,
1898                 STATE_SYSTEM_HOTTRACKED         = 0x00000080,
1899                 STATE_SYSTEM_DEFAULT            = 0x00000100,
1900                 STATE_SYSTEM_EXPANDED           = 0x00000200,
1901                 STATE_SYSTEM_COLLAPSED          = 0x00000400,
1902                 STATE_SYSTEM_BUSY               = 0x00000800,
1903                 STATE_SYSTEM_FLOATING           = 0x00001000, // Children "owned" not "contained" by parent
1904                 STATE_SYSTEM_MARQUEED           = 0x00002000,
1905                 STATE_SYSTEM_ANIMATED           = 0x00004000,
1906                 STATE_SYSTEM_INVISIBLE          = 0x00008000,
1907                 STATE_SYSTEM_OFFSCREEN          = 0x00010000,
1908                 STATE_SYSTEM_SIZEABLE           = 0x00020000,
1909                 STATE_SYSTEM_MOVEABLE           = 0x00040000,
1910                 STATE_SYSTEM_SELFVOICING        = 0x00080000,
1911                 STATE_SYSTEM_FOCUSABLE          = 0x00100000,
1912                 STATE_SYSTEM_SELECTABLE         = 0x00200000,
1913                 STATE_SYSTEM_LINKED             = 0x00400000,
1914                 STATE_SYSTEM_TRAVERSED          = 0x00800000,
1915                 STATE_SYSTEM_MULTISELECTABLE    = 0x01000000,  // Supports multiple selection
1916                 STATE_SYSTEM_EXTSELECTABLE      = 0x02000000,  // Supports extended selection
1917                 STATE_SYSTEM_ALERT_LOW          = 0x04000000,  // This information is of low priority
1918                 STATE_SYSTEM_ALERT_MEDIUM       = 0x08000000,  // This information is of medium priority
1919                 STATE_SYSTEM_ALERT_HIGH         = 0x10000000,  // This information is of high priority
1920                 STATE_SYSTEM_VALID              = 0x1FFFFFFF
1921         }
1922         #endregion
1923
1924         #region QueryContextMenuFlags
1925         public enum QueryContextMenuFlags : long {
1926                 CMF_NORMAL              = 0x00000000,
1927                 CMF_DEFAULTONLY         = 0x00000001,
1928                 CMF_VERBSONLY           = 0x00000002,
1929                 CMF_EXPLORE             = 0x00000004,
1930                 CMF_NOVERBS             = 0x00000008,
1931                 CMF_CANRENAME           = 0x00000010,
1932                 CMF_NODEFAULT           = 0x00000020,
1933                 CMF_INCLUDESTATIC       = 0x00000040,
1934                 CMF_RESERVED            = 0xffff0000  
1935         }
1936         #endregion
1937
1938         #region GetWindowLongFlag
1939         public enum GetWindowLongFlag {
1940                 GWL_WNDPROC         = (-4),
1941                 GWL_HINSTANCE       = (-6),
1942                 GWL_HWNDPARENT      = (-8),
1943                 GWL_STYLE           = (-16),
1944                 GWL_EXSTYLE         = (-20),
1945                 GWL_USERDATA        = (-21),
1946                 GWL_ID              = (-12),
1947                 DWL_MSGRESULT       = 0,
1948                 DWL_DLGPROC         = 4,
1949                 DWL_USER            = 8
1950         }
1951         #endregion
1952
1953         #region CommonControlMessages
1954         public enum CommonControlMessages {
1955                 CCM_FIRST               = 0x2000,                       // Common control shared messages
1956                 CCM_SETBKCOLOR          = (CCM_FIRST + 1),      // lParam is bkColor
1957                 CCM_SETCOLORSCHEME      = (CCM_FIRST + 2),      // lParam is color scheme
1958                 CCM_GETCOLORSCHEME      = (CCM_FIRST + 3),      // fills in COLORSCHEME pointed to by lParam
1959                 CCM_GETDROPTARGET       = (CCM_FIRST + 4),
1960                 CCM_SETUNICODEFORMAT    = (CCM_FIRST + 5),
1961                 CCM_GETUNICODEFORMAT    = (CCM_FIRST + 6),
1962                 CCM_SETVERSION          = (CCM_FIRST + 7)
1963         }
1964         #endregion
1965
1966         #region PenStyle
1967         public enum PenStyle {
1968                 PS_SOLID            = 0,
1969                 PS_DASH             = 1,      
1970                 PS_DOT              = 2,     
1971                 PS_DASHDOT          = 3,      
1972                 PS_DASHDOTDOT       = 4,       
1973                 PS_NULL             = 5,
1974                 PS_INSIDEFRAME      = 6,
1975                 PS_USERSTYLE        = 7,
1976                 PS_ALTERNATE        = 8,
1977                 PS_STYLE_MASK       = 0x0000000F,
1978                 PS_ENDCAP_ROUND     = 0x00000000,
1979                 PS_ENDCAP_SQUARE    = 0x00000100,
1980                 PS_ENDCAP_FLAT      = 0x00000200,
1981                 PS_ENDCAP_MASK      = 0x00000F00,
1982                 PS_JOIN_ROUND       = 0x00000000,
1983                 PS_JOIN_BEVEL       = 0x00001000,
1984                 PS_JOIN_MITER       = 0x00002000,
1985                 PS_JOIN_MASK        = 0x0000F000,
1986                 PS_COSMETIC         = 0x00000000,
1987                 PS_GEOMETRIC        = 0x00010000,
1988                 PS_TYPE_MASK        = 0x000F0000
1989         }
1990         #endregion
1991
1992         #region ImageListDrawColor
1993         public enum ImageListDrawColor {
1994                 None,           
1995                 Default     
1996         }
1997         #endregion
1998
1999         #region ImageList Draw Colors
2000         internal enum ImageListDrawColors : uint {
2001                 CLR_NONE                = 0xFFFFFFFF,
2002                 CLR_DEFAULT     = 0xFF000000
2003         }
2004         #endregion
2005
2006         #region WM_SIZE_Param_Values
2007         public enum WM_SIZE_Param_Values {
2008                 SIZE_RESTORED       = 0,
2009                 SIZE_MINIMIZED      = 1,
2010                 SIZE_MAXIMIZED      = 2,
2011                 SIZE_MAXSHOW        = 3,
2012                 SIZE_MAXHIDE        = 4
2013         }
2014         #endregion
2015
2016         #region WMSizingMessage
2017         public enum WM_Sizing_Message_Param_Values {    
2018                 /* wParam for WM_SIZING message */
2019                 WMSZ_LEFT           = 1,
2020                 WMSZ_RIGHT          = 2,
2021                 WMSZ_TOP            = 3,
2022                 WMSZ_TOPLEFT        = 4,
2023                 WMSZ_TOPRIGHT       = 5,
2024                 WMSZ_BOTTOM         = 6,
2025                 WMSZ_BOTTOMLEFT     = 7,
2026                 WMSZ_BOTTOMRIGHT    = 8
2027         }
2028         #endregion WMSizingMessage
2029
2030         /* Win32 4.0 messages for IME */
2031         //      internal const uint IME_SETCONTEXT           = 0x0281;
2032         //      internal const uint IME_NOTIFY               = 0x0282;
2033         //      internal const uint IME_CONTROL              = 0x0283;
2034         //      internal const uint IME_COMPOSITIONFULL      = 0x0284;
2035         //      internal const uint IME_SELECT               = 0x0285;
2036         //      internal const uint IME_CHAR                 = 0x0286;
2037         //      /* Win32 5.0 messages for IME */
2038         //      internal const uint IME_REQUEST              = 0x0288;
2039         //
2040         //      /* Win32 4.0 messages for IME */
2041         //      internal const uint IME_KEYDOWN              = 0x0290;
2042         //      internal const uint IME_KEYUP                = 0x0291;
2043
2044         #region CS_Types
2045         [Flags]
2046         internal enum CS_ {
2047                 CS_VREDRAW          = 0x0001,
2048                 CS_HREDRAW          = 0x0002,
2049                 CS_KEYCVTWINDOW     = 0x0004,
2050                 CS_DBLCLKS          = 0x0008,
2051                 CS_OWNDC            = 0x0020,
2052                 CS_CLASSDC          = 0x0040,
2053                 CS_PARENTDC         = 0x0080,
2054                 CS_NOKEYCVT         = 0x0100,
2055                 CS_NOCLOSE          = 0x0200,
2056                 CS_SAVEBITS         = 0x0800,
2057                 CS_BYTEALIGNCLIENT  = 0x1000,
2058                 CS_BYTEALIGNWINDOW  = 0x2000,
2059                 CS_GLOBALCLASS      = 0x4000,
2060                 CS_IME              = 0x00010000
2061         }
2062         #endregion 
2063         
2064         #region PeekMessage
2065         internal enum PeekMessage {
2066                 // PeekMessage types
2067                 PM_NOREMOVE     = 0x0000,
2068                 PM_REMOVE       = 0x0001,
2069                 PM_NOYIELD      = 0x0002
2070         }
2071         #endregion 
2072
2073         #region WB_MessageBox_Types
2074         internal enum WB_MessageBox_Types {
2075                 // MessageBox types
2076                 MB_OK                   = 0x00000000,
2077                 MB_OKCANCEL             = 0x00000001,
2078                 MB_ABORTRETRYIGNORE     = 0x00000002,
2079                 MB_YESNOCANCEL          = 0x00000003,
2080                 MB_YESNO                = 0x00000004,
2081                 MB_RETRYCANCEL          = 0x00000005,
2082                 MB_TYPEMASK             = 0x0000000F,
2083                 MB_APPLMODAL                    = 0x00000000,
2084                 MB_SYSTEMMODAL                  = 0x00001000,
2085                 MB_TASKMODAL                    = 0x00002000,
2086                 MB_MODEMASK                             = 0x00003000
2087         }
2088         #endregion 
2089
2090         #region Static Contreol Types
2091         internal enum SS_Static_Control_Types {
2092                 // Static Control Styles
2093                 SS_LEFT             = 0x00000000,
2094                 SS_CENTER           = 0x00000001,
2095                 SS_RIGHT            = 0x00000002,
2096                 SS_ICON             = 0x00000003,
2097                 SS_BLACKRECT        = 0x00000004,
2098                 SS_GRAYRECT         = 0x00000005,
2099                 SS_WHITERECT        = 0x00000006,
2100                 SS_BLACKFRAME       = 0x00000007,
2101                 SS_GRAYFRAME        = 0x00000008,
2102                 SS_WHITEFRAME       = 0x00000009,
2103
2104                 SS_SIMPLE           = 0x0000000B,
2105                 SS_LEFTNOWORDWRAP   = 0x0000000C,
2106                 
2107                 SS_OWNERDRAW        = 0x0000000D,
2108                 SS_BITMAP           = 0x0000000E,
2109                 SS_ENHMETAFILE      = 0x0000000F,
2110
2111                 SS_ETCHEDHORZ       = 0x00000010,
2112                 SS_ETCHEDVERT       = 0x00000011,
2113                 SS_ETCHEDFRAME      = 0x00000012,
2114                 SS_TYPEMASK         = 0x0000001F,
2115                 
2116                 SS_NOPREFIX         = 0x00000080,
2117                 SS_NOTIFY           = 0x00000100,
2118                 SS_CENTERIMAGE      = 0x00000200,
2119                 SS_RIGHTJUST        = 0x00000400,
2120                 SS_REALSIZEIMAGE    = 0x00000800,
2121                 SS_SUNKEN           = 0x00001000
2122         }
2123         #endregion 
2124
2125         #region WF_
2126         internal enum MF_ {
2127                 MF_INSERT           = 0x0,
2128                 MF_CHANGE           = 0x80,
2129                 MF_APPEND           = 0x100,
2130                 MF_DELETE           = 0x200,
2131                 MF_REMOVE           = 0x1000,
2132                 MF_BYCOMMAND        = 0,
2133                 MF_BYPOSITION       = 0x400,
2134                 MF_SEPARATOR        = 0x800,
2135                 MF_ENABLED          = 0, 
2136                 MF_GRAYED           = 1,
2137                 MF_DISABLED         = 2,
2138                 MF_UNCHECKED        = 0,
2139                 MF_CHECKED          = 8,
2140                 MF_USECHECKBITMAPS  = 0x200,
2141                 MF_STRING           = 0,
2142                 MF_BITMAP           = 4,
2143                 MF_OWNERDRAW        = 0x100,
2144                 MF_POPUP            = 0x10,
2145                 MF_MENUBARBREAK     = 0x20,
2146                 MF_MENUBREAK        = 0x40,
2147                 MF_UNHILITE         = 0,
2148                 MF_HILITE           = 0x80,
2149                 MF_DEFAULT          = 0x1000,
2150                 MF_SYSMENU          = 0x2000,
2151                 MF_HELP             = 0x4000,
2152                 MF_RIGHTJUSTIFY     = 0x4000
2153         }
2154         #endregion 
2155
2156         internal enum FM_ {
2157                 FORMAT_MESSAGE_ALLOCATE_BUFFER  = 0x100,
2158                 FORMAT_MESSAGE_IGNORE_INSERTS   = 0x200,
2159                 FORMAT_MESSAGE_FROM_STRING      = 0x400,
2160                 FORMAT_MESSAGE_FROM_HMODULE     = 0x800,
2161                 FORMAT_MESSAGE_FROM_SYSTEM      = 0x1000,
2162                 FORMAT_MESSAGE_ARGUMENT_ARRAY   = 0x2000,
2163                 FORMAT_MESSAGE_MAX_WIDTH_MASK   = 0xFF
2164         }
2165         
2166         internal enum LC_ {
2167                 IDC_ARROW           =32512,
2168                 IDC_IBEAM           =32513,
2169                 IDC_WAIT            =32514,
2170                 IDC_CROSS           =32515,
2171                 IDC_UPARROW         =32516,
2172                 IDC_SIZE            =32640, 
2173                 IDC_ICON            =32641, 
2174                 IDC_SIZENWSE        =32642,
2175                 IDC_SIZENESW        =32643,
2176                 IDC_SIZEWE          =32644,
2177                 IDC_SIZENS          =32645,
2178                 IDC_SIZEALL         =32646,
2179                 IDC_NO              =32648, 
2180                 IDC_HAND            =32649,
2181                 IDC_APPSTARTING     =32650, 
2182                 IDC_HELP            =32651 
2183         }
2184         internal enum GSO_ {
2185                 WHITE_BRUSH         =0,
2186                 LTGRAY_BRUSH        =1,
2187                 GRAY_BRUSH          =2,
2188                 DKGRAY_BRUSH        =3,
2189                 BLACK_BRUSH         =4,
2190                 NULL_BRUSH          =5,
2191                 HOLLOW_BRUSH        =5,
2192                 WHITE_PEN           =6,
2193                 BLACK_PEN           =7,
2194                 NULL_PEN            =8,
2195                 OEM_FIXED_FONT      =10,
2196                 ANSI_FIXED_FONT     =11,
2197                 ANSI_VAR_FONT       =12,
2198                 SYSTEM_FONT         =13,
2199                 DEVICE_DEFAULT_FONT =14,
2200                 DEFAULT_PALETTE     =15,
2201                 SYSTEM_FIXED_FONT   =16,
2202                 DEFAULT_GUI_FONT    =17
2203         }
2204
2205         internal enum GetSysColorIndex {
2206                 COLOR_SCROLLBAR         =0,
2207                 COLOR_BACKGROUND        =1,
2208                 COLOR_ACTIVECAPTION     =2,
2209                 COLOR_INACTIVECAPTION   =3,
2210                 COLOR_MENU              =4,
2211                 COLOR_WINDOW            =5,
2212                 COLOR_WINDOWFRAME       =6,
2213                 COLOR_MENUTEXT          =7,
2214                 COLOR_WINDOWTEXT        =8,
2215                 COLOR_CAPTIONTEXT       =9,
2216                 COLOR_ACTIVEBORDER      =10,
2217                 COLOR_INACTIVEBORDER    =11,
2218                 COLOR_APPWORKSPACE      =12,
2219                 COLOR_HIGHLIGHT         =13,
2220                 COLOR_HIGHLIGHTTEXT     =14,
2221                 COLOR_BTNFACE           =15,
2222                 COLOR_BTNSHADOW         =16,
2223                 COLOR_GRAYTEXT          =17,
2224                 COLOR_BTNTEXT           =18,
2225                 COLOR_INACTIVECAPTIONTEXT =19,
2226                 COLOR_BTNHIGHLIGHT      =20,
2227                 COLOR_3DDKSHADOW        =21,
2228                 COLOR_3DLIGHT           =22,
2229                 COLOR_INFOTEXT          =23,
2230                 COLOR_INFOBK            =24,
2231                 COLOR_DESKTOP           =1,
2232                 COLOR_3DFACE            =16,
2233                 COLOR_3DSHADOW          =16,
2234                 COLOR_3DHIGHLIGHT       =20,
2235                 COLOR_3DHILIGHT         =20,
2236                 COLOR_BTNHILIGHT        =20
2237         }
2238         
2239         internal enum ButtonStyles : uint {
2240                 BS_PUSHBUTTON       =0,
2241                 BS_DEFPUSHBUTTON    =1,
2242                 BS_CHECKBOX         =2,
2243                 BS_AUTOCHECKBOX     =3,
2244                 BS_RADIOBUTTON      =4,
2245                 BS_3STATE           =5,
2246                 BS_AUTO3STATE       =6,
2247                 BS_GROUPBOX         =7,
2248                 BS_USERBUTTON       =8,
2249                 BS_AUTORADIOBUTTON  =9,
2250                 BS_OWNERDRAW        =11,
2251                 BS_LEFTTEXT         =0x20,
2252                 BS_TEXT             =0,
2253                 BS_ICON             =0x40,
2254                 BS_BITMAP           =0x80,
2255                 BS_LEFT             =0x100,
2256                 BS_RIGHT            =0x200,
2257                 BS_CENTER           =0x300,
2258                 BS_TOP              =0x400,
2259                 BS_BOTTOM           =0x800,
2260                 BS_VCENTER          =0xC00,
2261                 BS_PUSHLIKE         =0x1000,
2262                 BS_MULTILINE        =0x2000,
2263                 BS_NOTIFY           =0x4000,
2264                 BS_FLAT             =0x8000,
2265                 BS_RIGHTBUTTON      =0x20
2266         }
2267
2268         internal enum ButtonNotification : uint {
2269                 BN_CLICKED          =0,
2270                 BN_PAINT            =1,
2271                 BN_HILITE           =2,
2272                 BN_UNHILITE         =3,
2273                 BN_DISABLE          =4,
2274                 BN_DOUBLECLICKED    =5,
2275                 BN_PUSHED           =2,
2276                 BN_UNPUSHED         =3,
2277                 BN_DBLCLK           =5,
2278                 BN_SETFOCUS         =6,
2279                 BN_KILLFOCUS        =7
2280         }
2281
2282         internal enum ButtonMessages : uint {
2283                 BM_GETCHECK          =0x00f0,
2284                 BM_SETCHECK          =0x00f1,
2285                 BM_GETSTATE          =0x00f2,
2286                 BM_SETSTATE          =0x00f3,
2287                 BM_SETSTYLE          =0x00f4,
2288                 BM_CLICK             =0x00f5,
2289                 BM_GETIMAGE          =0x00f6,
2290                 BM_SETIMAGE          =0x00f7
2291         }
2292
2293         internal enum NativeButtonState : int {
2294                 BST_UNCHECKED        = 0x0000,
2295                 BST_CHECKED          = 0x0001,
2296                 BST_INDETERMINATE    = 0x0002,
2297                 BST_PUSHED           = 0x0004,
2298                 BST_FOCUS            = 0x0008
2299         }
2300
2301         internal enum ComboBoxNotification : int {
2302                 CBN_ERRSPACE        =-1,
2303                 CBN_SELCHANGE       =1,
2304                 CBN_DBLCLK          =2,
2305                 CBN_SETFOCUS        =3,
2306                 CBN_KILLFOCUS       =4,
2307                 CBN_EDITCHANGE      =5,
2308                 CBN_EDITUPDATE      =6,
2309                 CBN_DROPDOWN        =7,
2310                 CBN_CLOSEUP         =8,
2311                 CBN_SELENDOK        =9,
2312                 CBN_SELENDCANCEL    =10
2313         }
2314
2315         internal enum ListBoxMessages {
2316                 LB_ADDSTRING            =0x0180,
2317                 LB_INSERTSTRING         =0x0181,
2318                 LB_DELETESTRING         =0x0182,
2319                 LB_SELITEMRANGEEX       =0x0183,
2320                 LB_RESETCONTENT         =0x0184,
2321                 LB_SETSEL               =0x0185,
2322                 LB_SETCURSEL            =0x0186,
2323                 LB_GETSEL               =0x0187,
2324                 LB_GETCURSEL            =0x0188,
2325                 LB_GETTEXT              =0x0189,
2326                 LB_GETTEXTLEN           =0x018A,
2327                 LB_GETCOUNT             =0x018B,
2328                 LB_SELECTSTRING         =0x018C,
2329                 LB_DIR                  =0x018D,
2330                 LB_GETTOPINDEX          =0x018E,
2331                 LB_FINDSTRING           =0x018F,
2332                 LB_GETSELCOUNT          =0x0190,
2333                 LB_GETSELITEMS          =0x0191,
2334                 LB_SETTABSTOPS          =0x0192,
2335                 LB_GETHORIZONTALEXTENT  =0x0193,
2336                 LB_SETHORIZONTALEXTENT  =0x0194,
2337                 LB_SETCOLUMNWIDTH       =0x0195,
2338                 LB_ADDFILE              =0x0196,
2339                 LB_SETTOPINDEX          =0x0197,
2340                 LB_GETITEMRECT          =0x0198,
2341                 LB_GETITEMDATA          =0x0199,
2342                 LB_SETITEMDATA          =0x019A,
2343                 LB_SELITEMRANGE         =0x019B,
2344                 LB_SETANCHORINDEX       =0x019C,
2345                 LB_GETANCHORINDEX       =0x019D,
2346                 LB_SETCARETINDEX        =0x019E,
2347                 LB_GETCARETINDEX        =0x019F,
2348                 LB_SETITEMHEIGHT        =0x01A0,
2349                 LB_GETITEMHEIGHT        =0x01A1,
2350                 LB_FINDSTRINGEXACT      =0x01A2,
2351                 LB_SETLOCALE            =0x01A5,
2352                 LB_GETLOCALE            =0x01A6,
2353                 LB_SETCOUNT             =0x01A7,
2354                 LB_INITSTORAGE          =0x01A8,
2355                 LB_ITEMFROMPOINT        =0x01A9,
2356                 LB_MSGMAX               =0x01B0,
2357                 LB_MSGMAX_351           =0x01A8
2358         }
2359
2360         internal enum ListBoxStyles : long {
2361                 LBS_NOTIFY            = 0x0001,
2362                 LBS_SORT              = 0x0002,
2363                 LBS_NOREDRAW          = 0x0004,
2364                 LBS_MULTIPLESEL       = 0x0008,
2365                 LBS_OWNERDRAWFIXED    = 0x0010,
2366                 LBS_OWNERDRAWVARIABLE = 0x0020,
2367                 LBS_HASSTRINGS        = 0x0040,
2368                 LBS_USETABSTOPS       = 0x0080,
2369                 LBS_NOINTEGRALHEIGHT  = 0x0100,
2370                 LBS_MULTICOLUMN       = 0x0200,
2371                 LBS_WANTKEYBOARDINPUT = 0x0400,
2372                 LBS_EXTENDEDSEL       = 0x0800,
2373                 LBS_DISABLENOSCROLL   = 0x1000,
2374                 LBS_NODATA            = 0x2000,
2375                 LBS_NOSEL             = 0x4000,
2376                 LBS_STANDARD          = 0x03 | WindowStyles.WS_VSCROLL | WindowStyles.WS_BORDER
2377         }
2378
2379         internal enum ListBoxNotifications : int {
2380                 LB_OKAY             =0,
2381                 LB_ERR              =-1,
2382                 LBN_ERRSPACE        =-2,
2383                 LBN_SELCHANGE       =1,
2384                 LBN_DBLCLK          =2,
2385                 LBN_SELCANCEL       =3,
2386                 LBN_SETFOCUS        =4,
2387                 LBN_KILLFOCUS       =5
2388         }
2389
2390         #region Trackbar Control Messages
2391         internal enum TrackbarMessages {
2392                 TBM_GETPOS          =  ( Msg.WM_USER ),
2393                 TBM_GETRANGEMIN     =  ( Msg.WM_USER + 1),
2394                 TBM_GETRANGEMAX     =  ( Msg.WM_USER + 2),
2395                 TBM_GETTIC          =  ( Msg.WM_USER + 3),
2396                 TBM_SETTIC          =  ( Msg.WM_USER + 4),
2397                 TBM_SETPOS          =  ( Msg.WM_USER + 5 ),
2398                 TBM_SETRANGE        =  ( Msg.WM_USER + 6 ),
2399                 TBM_SETRANGEMIN     =  ( Msg.WM_USER + 7 ),
2400                 TBM_SETRANGEMAX     =  ( Msg.WM_USER + 8 ),
2401                 TBM_CLEARTICS       =  ( Msg.WM_USER + 9 ),
2402                 TBM_SETSEL          =  ( Msg.WM_USER + 10 ),
2403                 TBM_SETSELSTART     =  ( Msg.WM_USER + 11 ),
2404                 TBM_SETSELEND       =  ( Msg.WM_USER + 12 ),
2405                 TBM_GETPTICS        =  ( Msg.WM_USER + 14 ),
2406                 TBM_GETTICPOS       =  ( Msg.WM_USER + 15 ),
2407                 TBM_GETNUMTICS      =  ( Msg.WM_USER + 16 ),
2408                 TBM_GETSELSTART     =  ( Msg.WM_USER + 17 ),
2409                 TBM_GETSELEND       =  ( Msg.WM_USER + 18 ),
2410                 TBM_CLEARSEL        =  ( Msg.WM_USER + 19 ),
2411                 TBM_SETTICFREQ      =  ( Msg.WM_USER + 20 ),
2412                 TBM_SETPAGESIZE     =  ( Msg.WM_USER + 21 ),
2413                 TBM_GETPAGESIZE     =  ( Msg.WM_USER + 22 ),
2414                 TBM_SETLINESIZE     =  ( Msg.WM_USER + 23 ),
2415                 TBM_GETLINESIZE     =  ( Msg.WM_USER + 24 ),
2416                 TBM_GETTHUMBRECT    =  ( Msg.WM_USER + 25 ),
2417                 TBM_GETCHANNELRECT  =  ( Msg.WM_USER + 26 ),
2418                 TBM_SETTHUMBLENGTH  =  ( Msg.WM_USER + 27 ),
2419                 TBM_GETTHUMBLENGTH  =  ( Msg.WM_USER + 28 ),
2420                 TBM_SETTOOLTIPS     =  ( Msg.WM_USER + 29 ),
2421                 TBM_GETTOOLTIPS     =  ( Msg.WM_USER + 30 ),
2422                 TBM_SETTIPSIDE      =  ( Msg.WM_USER + 31 )
2423         }
2424         #endregion
2425                 
2426         #region Trackbar Control Styles
2427         public enum TrackbarControlStyles {
2428                 TBS_AUTOTICKS       =    0x0001,
2429                 TBS_VERT            =    0x0002,
2430                 TBS_HORZ            =    0x0000,
2431                 TBS_TOP             =    0x0004,
2432                 TBS_BOTTOM          =    0x0000,
2433                 TBS_LEFT            =    0x0004,
2434                 TBS_RIGHT           =    0x0000,
2435                 TBS_BOTH            =    0x0008,
2436                 TBS_NOTICKS         =    0x0010,
2437                 TBS_ENABLESELRANGE  =    0x0020,
2438                 TBS_FIXEDLENGTH     =    0x0040,
2439                 TBS_NOTHUMB         =    0x0080,
2440                 TBS_TOOLTIPS        =    0x0100
2441         }
2442         #endregion
2443
2444         internal enum TrackbarNotifications : int {
2445                 TB_LINEUP           =    0,
2446                 TB_LINEDOWN         =    1,
2447                 TB_PAGEUP           =    2,
2448                 TB_PAGEDOWN         =    3,
2449                 TB_THUMBPOSITION    =    4,
2450                 TB_THUMBTRACK       =    5,
2451                 TB_TOP              =    6,
2452                 TB_BOTTOM           =    7,
2453                 TB_ENDTRACK         =    8
2454         }
2455
2456         #region StatusBar Control Styles
2457         public enum StatusbarControlStyles {
2458                 SBARS_SIZEGRIP      =    0x0100,
2459                 SBT_TOOLTIPS        =    0x0800
2460         }
2461         #endregion
2462
2463         #region StatusBar notifications
2464         internal enum StatusbarNotifications : int {
2465                 SBN_FIRST       = (0 - 880),
2466                 SBN_LAST        = (0 - 899),
2467                 SBN_SIMPLEMODECHANGE = (SBN_FIRST - 0)
2468         }
2469         #endregion
2470
2471         #region Statusbar Control Messages
2472         internal enum StatusbarMessages {
2473                 SB_SETTEXT      = ( Msg.WM_USER+1 ),
2474                 SB_GETTEXT      = ( Msg.WM_USER+2 ),
2475                 SB_GETTEXTLENGTH= ( Msg.WM_USER+3 ),
2476                 SB_SETPARTS     = ( Msg.WM_USER+4 ),
2477                 SB_GETPARTS     = ( Msg.WM_USER+6 ),
2478                 SB_GETBORDERS   = ( Msg.WM_USER+7 ),
2479                 SB_SETMINHEIGHT = ( Msg.WM_USER+8 ),
2480                 SB_SIMPLE       = ( Msg.WM_USER+9 ),
2481                 SB_GETRECT      = ( Msg.WM_USER+10),
2482                 SB_ISSIMPLE     = ( Msg.WM_USER+14),
2483                 SB_SETICON      = ( Msg.WM_USER+15),
2484                 SB_SETTIPTEXT   = ( Msg.WM_USER+16),
2485                 SB_GETTIPTEXT   = ( Msg.WM_USER+18),
2486                 SB_GETICON      = ( Msg.WM_USER+20),
2487                 SB_SETBKCOLOR   = CommonControlMessages.CCM_SETBKCOLOR
2488         }
2489         #endregion
2490
2491         #region Statusbar Drawing Operations Types
2492         internal enum StatusbarDrawType {
2493                 SBT_OWNERDRAW   = 0x1000,
2494                 SBT_NOBORDERS   = 0x0100,
2495                 SBT_POPOUT      = 0x0200,
2496                 SBT_RTLREADING  = 0x0400
2497         }
2498         #endregion
2499
2500         #region DateTimePicker Control Styles
2501         public enum DateTimePickerControlStyles 
2502         {
2503                 DTS_UPDOWN    =       0x0001,
2504                 DTS_SHOWNONE  =       0x0002,
2505                 DTS_SHORTDATEFORMAT = 0x0000,
2506                 DTS_LONGDATEFORMAT  = 0x0004,
2507                 DTS_TIMEFORMAT      = 0x0009,
2508                 DTS_APPCANPARSE     = 0x0010,
2509                 DTS_RIGHTALIGN      = 0x0020
2510         }
2511         #endregion
2512
2513         #region DateTimePicker Control Messages
2514         internal enum DateTimePickerMessages 
2515         {
2516                 DTM_FIRST               =  0x1000,
2517                 DTM_GETSYSTEMTIME       = (DTM_FIRST + 1),
2518                 DTM_SETSYSTEMTIME       = (DTM_FIRST + 2),
2519                 DTM_GETRANGE            = (DTM_FIRST + 3),
2520                 DTM_SETRANGE            = (DTM_FIRST + 4),
2521                 DTM_SETFORMATA          = (DTM_FIRST + 5),
2522                 DTM_SETMCCOLOR          = (DTM_FIRST + 6),
2523                 DTM_GETMCCOLOR          = (DTM_FIRST + 7),
2524                 DTM_GETMONTHCAL         = (DTM_FIRST + 8),
2525                 DTM_SETMCFONT           = (DTM_FIRST + 9),
2526                 DTM_GETMCFONT           = (DTM_FIRST + 10),
2527                 DTM_SETFORMATW          = (DTM_FIRST + 50)
2528         }
2529         #endregion
2530
2531         #region DateTimePicker Control Flags
2532         internal enum DateTimePickerFlags
2533         {
2534                 GDT_ERROR    = -1,
2535                 GDT_VALID    = 0,
2536                 GDT_NONE     = 1,
2537                 GDTR_MIN     = 0x0001,
2538                 GDTR_MAX     = 0x0002
2539         }
2540         #endregion
2541
2542         #region DateTimePicker Notifications
2543         internal enum DateTimePickerNotifications
2544         {
2545                 DTN_FIRST               = (0 - 760),
2546                 DTN_DATETIMECHANGE      = (DTN_FIRST + 1),
2547                 DTN_USERSTRINGA         = (DTN_FIRST + 2),
2548                 DTN_WMKEYDOWNA          = (DTN_FIRST + 3),
2549                 DTN_FORMATA             = (DTN_FIRST + 4),
2550                 DTN_FORMATQUERYA        = (DTN_FIRST + 5),
2551                 DTN_DROPDOWN            = (DTN_FIRST + 6),
2552                 DTN_CLOSEUP             = (DTN_FIRST + 7),
2553                 DTN_USERSTRINGW         = (DTN_FIRST + 15),
2554                 DTN_WMKEYDOWNW          = (DTN_FIRST + 16),
2555                 DTN_FORMATW             = (DTN_FIRST + 17),
2556                 DTN_FORMATQUERYW        = (DTN_FIRST + 18)
2557         }
2558         #endregion
2559
2560         #region ToolTipControl Messages
2561         internal enum ToolTipControlMessages
2562         {
2563                 TTM_ACTIVATE            = (Msg.WM_USER + 1),
2564                 TTM_SETDELAYTIME        = (Msg.WM_USER + 3),
2565                 TTM_SETMAXTIPWIDTH      = (Msg.WM_USER + 24),
2566                 TTM_ADDTOOL             = (Msg.WM_USER + 4),
2567                 TTM_DELTOOL             = (Msg.WM_USER + 5),
2568                 TTM_UPDATETIPTEXT       = (Msg.WM_USER + 12)
2569
2570         }
2571         #endregion
2572
2573         #region ToolTipControl Styles
2574         internal enum ToolTipControlStyles
2575         {
2576                 TTS_ALWAYSTIP           = 0x01,
2577                 TTS_NOPREFIX            = 0x02
2578         }
2579         #endregion
2580
2581         #region ToolTipControlDelay Flags
2582         internal enum ToolTipControlDelayFlags {
2583                 TTDT_AUTOMATIC          = 0,
2584                 TTDT_RESHOW             = 1,
2585                 TTDT_AUTOPOP            = 2,
2586                 TTDT_INITIAL            = 3
2587         }
2588         #endregion
2589         
2590         #region MonthCal Colors
2591         internal enum MonthCalColors
2592         {
2593                 MCSC_BACKGROUND   = 0,
2594                 MCSC_TEXT         = 1,
2595                 MCSC_TITLEBK      = 2,
2596                 MCSC_TITLETEXT    = 3,
2597                 MCSC_MONTHBK      = 4,
2598                 MCSC_TRAILINGTEXT = 5
2599         }
2600         #endregion
2601
2602         internal enum OwnerDrawTypes : int 
2603         {
2604                 ODT_COMBOBOX = 3,
2605                 ODT_LISTBOX = 2,
2606                 ODT_LISTVIEW = 102,
2607                 ODT_MENU = 1,
2608                 ODT_BUTTON = 4,
2609                 ODT_STATIC = 5,
2610                 ODT_TAB = 101,
2611                 ODT_HEADER = 100
2612         }
2613
2614         internal enum PBS_ : int {
2615                 PBS_MARQUEE,
2616                 PBS_SMOOTH,
2617                 PBS_VERTICAL
2618         }
2619
2620         internal enum ProgressBarMessages : int {
2621                 WM_USER            = 0x0400,
2622                 PBM_SETRANGE       = WM_USER+1,
2623                 PBM_SETPOS         = WM_USER+2,
2624                 PBM_DELTAPOS       = WM_USER+3,
2625                 PBM_SETSTEP        = WM_USER+4,
2626                 PBM_STEPIT         = WM_USER+5,
2627                 PBM_SETRANGE32     = WM_USER+6,
2628                 PBM_GETRANGE       = WM_USER+7,
2629                 PBM_GETPOS         = WM_USER+8,
2630                 PBM_SETBARCOLOR    = WM_USER+9,
2631                 PBM_SETBKCOLOR     = CommonControlMessages.CCM_SETBKCOLOR
2632         }
2633
2634         internal enum TabControlMessages : int {
2635                 TCM_FIRST          =  0x1300,
2636                 TCM_SETIMAGELIST   =  (TCM_FIRST + 3),
2637                 TCM_GETITEM        =  (TCM_FIRST + 60),
2638                 TCM_SETITEM        =  (TCM_FIRST + 6),
2639                 TCM_INSERTITEM     =  (TCM_FIRST + 7),
2640                 TCM_DELETEITEM     =  (TCM_FIRST + 8),
2641                 TCM_DELETEALLITEMS =  (TCM_FIRST + 9),
2642                 TCM_GETITEMRECT    =  (TCM_FIRST + 10),
2643                 TCM_GETCURSEL      =  (TCM_FIRST + 11),
2644                 TCM_SETCURSEL      =  (TCM_FIRST + 12),
2645                 TCM_HITTEST        =  (TCM_FIRST + 13),
2646                 TCM_ADJUSTRECT     =  (TCM_FIRST + 40),
2647                 TCM_SETITEMSIZE    =  (TCM_FIRST + 41),
2648                 TCM_REMOVEIMAGE    =  (TCM_FIRST + 42),
2649                 TCM_SETPADDING     =  (TCM_FIRST + 43),
2650                 TCM_GETROWCOUNT    =  (TCM_FIRST + 44),
2651                 TCM_GETTOOLTIPS    =  (TCM_FIRST + 45),
2652                 TCM_SETTOOLTIPS    =  (TCM_FIRST + 46),
2653                 TCM_GETCURFOCUS    =  (TCM_FIRST + 47),
2654                 TCM_SETCURFOCUS    =  (TCM_FIRST + 48),
2655                 TCM_SETMINTABWIDTH =  (TCM_FIRST + 49),
2656                 TCM_DESELECTALL    =  (TCM_FIRST + 50),
2657                 TCM_HIGHLIGHTITEM  =  (TCM_FIRST + 51)
2658         }
2659
2660         internal enum TabControlStyles : int {
2661                 TCS_SCROLLOPPOSITE     = 0x0001,
2662                 TCS_BOTTOM             = 0x0002,
2663                 TCS_RIGHT              = 0x0002,
2664                 TCS_MULTISELECT        = 0x0004,
2665                 TCS_FLATBUTTONS        = 0x0008,
2666                 TCS_FORCEICONLEFT      = 0x0010,
2667                 TCS_FORCELABELLEFT     = 0x0020,
2668                 TCS_HOTTRACK           = 0x0040,
2669                 TCS_VERTICAL           = 0x0080,
2670                 TCS_TABS               = 0x0000,
2671                 TCS_BUTTONS            = 0x0100,
2672                 TCS_SINGLELINE         = 0x0000,
2673                 TCS_MULTILINE          = 0x0200,
2674                 TCS_RIGHTJUSTIFY       = 0x0000,
2675                 TCS_FIXEDWIDTH         = 0x0400,
2676                 TCS_RAGGEDRIGHT        = 0x0800,
2677                 TCS_FOCUSONBUTTONDOWN  = 0x1000,
2678                 TCS_OWNERDRAWFIXED     = 0x2000,
2679                 TCS_TOOLTIPS           = 0x4000,
2680                 TCS_FOCUSNEVER         = 0x8000
2681         }
2682
2683         internal enum TabControlNotifications : int {
2684                 TCN_FIRST              = 0 - 550,
2685                 TCN_SELCHANGE          = (TCN_FIRST - 1),
2686                 TCN_SELCHANGING        = (TCN_FIRST - 2)
2687         }
2688
2689         internal enum CreateWindowCoordinates : int {
2690                 CW_USEDEFAULT = -2147483648
2691         }
2692
2693         internal enum DrawFrameControl : uint {
2694                 DFC_CAPTION             =1,      
2695                 DFC_MENU                =2,      
2696                 DFC_SCROLL              =3,      
2697                 DFC_BUTTON              =4,
2698                 DFCS_BUTTONCHECK        =0x0000, 
2699                 DFCS_BUTTONRADIOIMAGE   =0x0001, 
2700                 DFCS_BUTTONRADIOMASK    =0x0002,        
2701                 DFCS_BUTTONRADIO        =0x0004, 
2702                 DFCS_BUTTON3STATE       =0x0008, 
2703                 DFCS_BUTTONPUSH         =0x0010, 
2704         }
2705 /*
2706                 DFCS_CAPTIONCLOSE       =0x0000, 
2707                 DFCS_CAPTIONMIN         =0x0001, 
2708                 DFCS_CAPTIONMAX         =0x0002, 
2709                 DFCS_CAPTIONRESTORE     =0x0003, 
2710                 DFCS_CAPTIONHELP        =0x0004,        
2711                 DFCS_MENUARROW          =0x0000, 
2712                 DFCS_MENUCHECK          =0x0001, 
2713                 DFCS_MENUBULLET         =0x0002, 
2714                 DFCS_MENUARROWRIGHT     =0x0004, 
2715                 DFCS_SCROLLUP            =0x0000,
2716                 DFCS_SCROLLDOWN          =0x0001,
2717                 DFCS_SCROLLLEFT          =0x0002,
2718                 DFCS_SCROLLRIGHT         =0x0003,
2719                 DFCS_SCROLLCOMBOBOX      =0x0005,
2720                 DFCS_SCROLLSIZEGRIP      =0x0008,
2721                 DFCS_SCROLLSIZEGRIPRIGHT =0x0010,
2722                 DFCS_INACTIVE           =0x0100, 
2723                 DFCS_PUSHED             =0x0200, 
2724                 DFCS_CHECKED            =0x0400, 
2725                 DFCS_TRANSPARENT        =0x0800, 
2726                 DFCS_HOT                =0x1000, 
2727                 DFCS_ADJUSTRECT         =0x2000,        
2728                 DFCS_FLAT               =0x4000, 
2729                 DFCS_MONO               =0x8000 
2730         }
2731 */      
2732         internal enum KeyStatusFlags : int {
2733                 MK_LBUTTON          = 0x0001,
2734                 MK_RBUTTON          = 0x0002,
2735                 MK_SHIFT            = 0x0004,
2736                 MK_CONTROL          = 0x0008,
2737                 MK_MBUTTON          = 0x0010,
2738                 MK_XBUTTON1     = 0x0020,
2739                 MK_XBUTTON2     = 0x0040
2740         }
2741
2742         internal enum ExtTextOutFlags : int {
2743                 ETO_GRAYED          =0x0001,
2744                 ETO_OPAQUE          =0x0002,
2745                 ETO_CLIPPED         =0x0004,
2746                 ETO_GLYPH_INDEX     =0x0010,
2747                 ETO_RTLREADING      =0x0080,
2748                 ETO_IGNORELANGUAGE  =0x1000
2749         }
2750         
2751         internal enum UpDownControlStyles : int {
2752                 UDS_WRAP           =0x0001,
2753                 UDS_SETBUDDYINT    =0x0002,
2754                 UDS_ALIGNRIGHT     =0x0004,
2755                 UDS_ALIGNLEFT      =0x0008,
2756                 UDS_AUTOBUDDY      =0x0010,
2757                 UDS_ARROWKEYS      =0x0020,
2758                 UDS_HORZ           =0x0040,
2759                 UDS_NOTHOUSANDS    =0x0080,
2760                 UDS_HOTTRACK       =0x0100
2761         }
2762         
2763         internal enum UpDownControlMessages : int {
2764                 WM_USER            =  0x0400,
2765                 UDN_FIRST          =(0-721),
2766                 UDN_LAST           =(0-740),
2767                 UDN_DELTAPOS       =(UDN_FIRST-1),
2768                 UDM_SETRANGE       =(WM_USER+101),
2769                 UDM_GETRANGE       =(WM_USER+102),
2770                 UDM_SETPOS         =(WM_USER+103),
2771                 UDM_GETPOS         =(WM_USER+104),
2772                 UDM_SETBUDDY       =(WM_USER+105),
2773                 UDM_GETBUDDY       =(WM_USER+106),
2774                 UDM_SETACCEL       =(WM_USER+107),
2775                 UDM_GETACCEL       =(WM_USER+108),
2776                 UDM_SETBASE        =(WM_USER+109),
2777                 UDM_GETBASE        =(WM_USER+110),
2778                 UDM_SETRANGE32     =(WM_USER+111),
2779                 UDM_GETRANGE32     =(WM_USER+112),
2780                 //UDM_SETUNICODEFORMAT    =CCM_SETUNICODEFORMAT,
2781                 //UDM_GETUNICODEFORMAT    =CCM_GETUNICODEFORMAT,
2782                 UDM_SETPOS32       =(WM_USER+113),
2783                 UDM_GETPOS32       =(WM_USER+114)
2784         }
2785
2786         internal enum GetWindowConstants : int {
2787                 GW_HWNDFIRST       = 0,
2788                 GW_HWNDLAST        = 1,
2789                 GW_HWNDNEXT        = 2,
2790                 GW_HWNDPREV        = 3,
2791                 GW_OWNER           = 4,
2792                 GW_CHILD           = 5
2793         }
2794
2795         internal enum TabControlItemFlags : int {
2796                 TCIF_TEXT          = 0x0001,
2797                 TCIF_IMAGE         = 0x0002,
2798                 TCIF_RTLREADING    = 0x0004,
2799                 TCIF_PARAM         = 0x0008,
2800                 TCIF_STATE         = 0x0010
2801         }
2802
2803         internal enum EditControlStyles : int {
2804                 ES_LEFT             = 0x0000,
2805                 ES_CENTER           = 0x0001,
2806                 ES_RIGHT            = 0x0002,
2807                 ES_MULTILINE        = 0x0004,
2808                 ES_UPPERCASE        = 0x0008,
2809                 ES_LOWERCASE        = 0x0010,
2810                 ES_PASSWORD         = 0x0020,
2811                 ES_AUTOVSCROLL      = 0x0040,
2812                 ES_AUTOHSCROLL      = 0x0080,
2813                 ES_NOHIDESEL        = 0x0100,
2814                 ES_OEMCONVERT       = 0x0400,
2815                 ES_READONLY         = 0x0800,
2816                 ES_WANTRETURN       = 0x1000
2817         }
2818
2819         internal enum EditControlMessages : int {
2820                 EM_GETSEL               = 0x00B0,
2821                 EM_SETSEL               = 0x00B1,
2822                 EM_GETRECT              = 0x00B2,
2823                 EM_SETRECT              = 0x00B3,
2824                 EM_SETRECTNP            = 0x00B4,
2825                 EM_SCROLL               = 0x00B5,
2826                 EM_LINESCROLL           = 0x00B6,
2827                 EM_SCROLLCARET          = 0x00B7,
2828                 EM_GETMODIFY            = 0x00B8,
2829                 EM_SETMODIFY            = 0x00B9,
2830                 EM_GETLINECOUNT         = 0x00BA,
2831                 EM_LINEINDEX            = 0x00BB,
2832                 EM_SETHANDLE            = 0x00BC,
2833                 EM_GETHANDLE            = 0x00BD,
2834                 EM_GETTHUMB             = 0x00BE,
2835                 EM_LINELENGTH           = 0x00C1,
2836                 EM_REPLACESEL           = 0x00C2,
2837                 EM_GETLINE              = 0x00C4,
2838                 EM_LIMITTEXT            = 0x00C5,
2839                 EM_CANUNDO              = 0x00C6,
2840                 EM_UNDO                 = 0x00C7,
2841                 EM_FMTLINES             = 0x00C8,
2842                 EM_LINEFROMCHAR         = 0x00C9,
2843                 EM_SETTABSTOPS          = 0x00CB,
2844                 EM_SETPASSWORDCHAR      = 0x00CC,
2845                 EM_EMPTYUNDOBUFFER      = 0x00CD,
2846                 EM_GETFIRSTVISIBLELINE  = 0x00CE,
2847                 EM_SETREADONLY          = 0x00CF,
2848                 EM_SETWORDBREAKPROC     = 0x00D0,
2849                 EM_GETWORDBREAKPROC     = 0x00D1,
2850                 EM_GETPASSWORDCHAR      = 0x00D2,
2851                 EM_SETMARGINS           = 0x00D3,
2852                 EM_GETMARGINS           = 0x00D4,
2853                 EM_SETLIMITTEXT         = EM_LIMITTEXT,
2854                 EM_GETLIMITTEXT         = 0x00D5,
2855                 EM_POSFROMCHAR          = 0x00D6,
2856                 EM_CHARFROMPOS          = 0x00D7
2857         }
2858
2859         internal enum EditControlNotifications : int {
2860                 EN_CHANGE           = 0x0300,
2861                 EN_UPDATE           = 0x0400,
2862                 EN_ERRSPACE         = 0x0500,
2863                 EN_MAXTEXT          = 0x0501,
2864                 EN_HSCROLL          = 0x0601,
2865                 EN_VSCROLL          = 0x0602
2866         }       
2867         
2868         internal enum OpenFileDlgFlags : int {
2869                 OFN_READONLY                 = 0x00000001,
2870                 OFN_OVERWRITEPROMPT          = 0x00000002,
2871                 OFN_HIDEREADONLY             = 0x00000004,
2872                 OFN_NOCHANGEDIR              = 0x00000008,
2873                 OFN_SHOWHELP                 = 0x00000010,
2874                 OFN_ENABLEHOOK               = 0x00000020,
2875                 OFN_ENABLETEMPLATE           = 0x00000040,
2876                 OFN_ENABLETEMPLATEHANDLE     = 0x00000080,
2877                 OFN_NOVALIDATE               = 0x00000100,
2878                 OFN_ALLOWMULTISELECT         = 0x00000200,
2879                 OFN_EXTENSIONDIFFERENT       = 0x00000400,
2880                 OFN_PATHMUSTEXIST            = 0x00000800,
2881                 OFN_FILEMUSTEXIST            = 0x00001000,
2882                 OFN_CREATEPROMPT             = 0x00002000,
2883                 OFN_SHAREAWARE               = 0x00004000,
2884                 OFN_NOREADONLYRETURN         = 0x00008000,
2885                 OFN_NOTESTFILECREATE         = 0x00010000,
2886                 OFN_NONETWORKBUTTON          = 0x00020000,
2887                 OFN_NOLONGNAMES              = 0x00040000,
2888                 OFN_EXPLORER                 = 0x00080000,
2889                 OFN_NODEREFERENCELINKS       = 0x00100000,
2890                 OFN_LONGNAMES                = 0x00200000,
2891                 OFN_ENABLEINCLUDENOTIFY      = 0x00400000,
2892                 OFN_ENABLESIZING             = 0x00800000
2893         }
2894
2895         internal enum CommDlgErrors : uint {
2896                 FNERR_FILENAMECODES          = 0x3000,
2897                 FNERR_SUBCLASSFAILURE        = 0x3001,
2898                 FNERR_INVALIDFILENAME        = 0x3002,
2899                 FNERR_BUFFERTOOSMALL         = 0x3003
2900         }
2901
2902         internal enum CommDlgNotifications : int {
2903                 CDN_FIRST                    = (0-601),
2904                 CDN_INITDONE                 = (CDN_FIRST - 0x0000),
2905                 CDN_SELCHANGE                = (CDN_FIRST - 0x0001),
2906                 CDN_FOLDERCHANGE             = (CDN_FIRST - 0x0002),
2907                 CDN_SHAREVIOLATION           = (CDN_FIRST - 0x0003),
2908                 CDN_HELP                     = (CDN_FIRST - 0x0004),
2909                 CDN_FILEOK                   = (CDN_FIRST - 0x0005),
2910                 CDN_TYPECHANGE               = (CDN_FIRST - 0x0006),
2911                 CDN_INCLUDEITEM              = (CDN_FIRST - 0x0007)
2912         }
2913
2914         [Flags]
2915         internal enum TrackPopupMenuFlags : int {
2916                 TPM_LEFTBUTTON      = 0x0000,
2917                 TPM_RIGHTBUTTON     = 0x0002,
2918                 TPM_LEFTALIGN       = 0x0000,
2919                 TPM_CENTERALIGN     = 0x0004,
2920                 TPM_RIGHTALIGN      = 0x0008,
2921                 TPM_TOPALIGN        = 0x0000,
2922                 TPM_VCENTERALIGN    = 0x0010,
2923                 TPM_BOTTOMALIGN     = 0x0020,
2924                 TPM_HORIZONTAL      = 0x0000,
2925                 TPM_VERTICAL        = 0x0040,
2926                 TPM_NONOTIFY        = 0x0080,
2927                 TPM_RETURNCMD       = 0x0100,
2928                 TPM_RECURSE         = 0x0001
2929         }
2930
2931         internal enum ChooseColorFlags : int {
2932                 CC_RGBINIT               = 0x00000001,\r
2933                 CC_FULLOPEN              = 0x00000002,\r
2934                 CC_PREVENTFULLOPEN       = 0x00000004,\r
2935                 CC_SHOWHELP              = 0x00000008,\r
2936                 CC_ENABLEHOOK            = 0x00000010,\r
2937                 CC_ENABLETEMPLATE        = 0x00000020,\r
2938                 CC_ENABLETEMPLATEHANDLE  = 0x00000040,\r
2939                 CC_SOLIDCOLOR            = 0x00000080,\r
2940                 CC_ANYCOLOR              = 0x00000100\r
2941         }
2942 }