54701a8566233b01fad4b06d8e47df84fb7be183
[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 {
1244                 TV_FIRST                        =  0x1100,
1245                 TVM_GETITEMRECT         = (TV_FIRST + 4),
1246                 TVM_SETIMAGELIST        = (TV_FIRST + 9),
1247                 TVM_HITTEST         = (TV_FIRST + 17),
1248                 TVM_SORTCHILDRENCB  = (TV_FIRST + 21),
1249                 TVM_GETITEMW            = (TV_FIRST + 62),
1250                 TVM_SETITEMW        = (TV_FIRST + 63),
1251                 TVM_INSERTITEMW     = (TV_FIRST + 50)
1252         }
1253         #endregion
1254
1255         #region TreeViewImageListFlags
1256         public enum TreeViewImageListFlags {
1257                 TVSIL_NORMAL  = 0,
1258                 TVSIL_STATE   = 2
1259         }
1260         #endregion
1261
1262         #region TreeViewItem Flags
1263         [Flags]
1264         public enum TreeViewItemFlags {
1265                 TVIF_NONE               = 0x0000,
1266                 TVIF_TEXT               = 0x0001,
1267                 TVIF_IMAGE              = 0x0002,
1268                 TVIF_PARAM              = 0x0004,
1269                 TVIF_STATE              = 0x0008,
1270                 TVIF_HANDLE             = 0x0010,
1271                 TVIF_SELECTEDIMAGE      = 0x0020,
1272                 TVIF_CHILDREN           = 0x0040,
1273                 TVIF_INTEGRAL           = 0x0080,
1274                 I_CHILDRENCALLBACK      = -1,
1275                 LPSTR_TEXTCALLBACK      = -1,
1276                 I_IMAGECALLBACK                 = -1,
1277                 I_IMAGENONE                             = -2
1278         }
1279         #endregion
1280
1281         #region ListViewItem flags
1282         public enum ListViewItemFlags {
1283                 LVIF_TEXT               = 0x0001,
1284                 LVIF_IMAGE              = 0x0002,
1285                 LVIF_PARAM              = 0x0004,
1286                 LVIF_STATE              = 0x0008,
1287                 LVIF_INDENT             = 0x0010,
1288                 LVIF_NORECOMPUTE        = 0x0800
1289         }
1290         #endregion
1291
1292         #region HeaderItem flags
1293         public enum HeaderItemFlags {
1294                 HDI_WIDTH               = 0x0001,
1295                 HDI_HEIGHT              = HDI_WIDTH,
1296                 HDI_TEXT                = 0x0002,
1297                 HDI_FORMAT              = 0x0004,
1298                 HDI_LPARAM              = 0x0008,
1299                 HDI_BITMAP              = 0x0010,
1300                 HDI_IMAGE               = 0x0020,
1301                 HDI_DI_SETITEM          = 0x0040,
1302                 HDI_ORDER               = 0x0080
1303         }
1304         #endregion
1305
1306         #region GetDCExFlags
1307         public enum GetDCExFlags {
1308                 DCX_WINDOW           = 0x00000001,
1309                 DCX_CACHE            = 0x00000002,
1310                 DCX_NORESETATTRS     = 0x00000004,
1311                 DCX_CLIPCHILDREN     = 0x00000008,
1312                 DCX_CLIPSIBLINGS     = 0x00000010,
1313                 DCX_PARENTCLIP       = 0x00000020,
1314                 DCX_EXCLUDERGN       = 0x00000040,
1315                 DCX_INTERSECTRGN     = 0x00000080,
1316                 DCX_EXCLUDEUPDATE    = 0x00000100,
1317                 DCX_INTERSECTUPDATE  = 0x00000200,
1318                 DCX_LOCKWINDOWUPDATE = 0x00000400,
1319                 DCX_VALIDATE         = 0x00200000
1320         }
1321         #endregion
1322
1323         #region HitTest 
1324         public enum HitTest {
1325                 HTERROR             = (-2),
1326                 HTTRANSPARENT       = (-1),
1327                 HTNOWHERE           =   0,
1328                 HTCLIENT            =   1,
1329                 HTCAPTION           =   2,
1330                 HTSYSMENU           =   3,
1331                 HTGROWBOX           =   4,
1332                 HTSIZE              =   HTGROWBOX,
1333                 HTMENU              =   5,
1334                 HTHSCROLL           =   6,
1335                 HTVSCROLL           =   7,
1336                 HTMINBUTTON         =   8,
1337                 HTMAXBUTTON         =   9,
1338                 HTLEFT              =   10,
1339                 HTRIGHT             =   11,
1340                 HTTOP               =   12,
1341                 HTTOPLEFT           =   13,
1342                 HTTOPRIGHT          =   14,
1343                 HTBOTTOM            =   15,
1344                 HTBOTTOMLEFT        =   16,
1345                 HTBOTTOMRIGHT       =   17,
1346                 HTBORDER            =   18,
1347                 HTREDUCE            =   HTMINBUTTON,
1348                 HTZOOM              =   HTMAXBUTTON,
1349                 HTSIZEFIRST         =   HTLEFT,
1350                 HTSIZELAST          =   HTBOTTOMRIGHT,
1351                 HTOBJECT            =   19,
1352                 HTCLOSE             =   20,
1353                 HTHELP              =   21
1354         }
1355         #endregion
1356
1357         #region ActivateFlags
1358         public enum ActivateState {
1359                 WA_INACTIVE     = 0,
1360                 WA_ACTIVE       = 1,
1361                 WA_CLICKACTIVE  = 2
1362         }
1363         #endregion
1364
1365         #region StrechModeFlags
1366         public enum StrechModeFlags {
1367                 BLACKONWHITE            = 1,
1368                 WHITEONBLACK        = 2,
1369                 COLORONCOLOR        = 3,
1370                 HALFTONE            = 4,
1371                 MAXSTRETCHBLTMODE   = 4
1372         }
1373         #endregion
1374
1375         #region ScrollBarFlags
1376         public enum ScrollBarFlags {
1377                 SBS_HORZ                    = 0x0000,
1378                 SBS_VERT                    = 0x0001,
1379                 SBS_TOPALIGN                = 0x0002,
1380                 SBS_LEFTALIGN               = 0x0002,
1381                 SBS_BOTTOMALIGN             = 0x0004,
1382                 SBS_RIGHTALIGN              = 0x0004,
1383                 SBS_SIZEBOXTOPLEFTALIGN     = 0x0002,
1384                 SBS_SIZEBOXBOTTOMRIGHTALIGN = 0x0004,
1385                 SBS_SIZEBOX                 = 0x0008,
1386                 SBS_SIZEGRIP                = 0x0010
1387         }
1388         #endregion
1389
1390         #region System Metrics Codes
1391         public enum SystemMetricsCodes {
1392                 SM_CXSCREEN             = 0,
1393                 SM_CYSCREEN             = 1,
1394                 SM_CXVSCROLL            = 2,
1395                 SM_CYHSCROLL            = 3,
1396                 SM_CYCAPTION            = 4,
1397                 SM_CXBORDER             = 5,
1398                 SM_CYBORDER             = 6,
1399                 SM_CXDLGFRAME           = 7,
1400                 SM_CYDLGFRAME           = 8,
1401                 SM_CYVTHUMB             = 9,
1402                 SM_CXHTHUMB             = 10,
1403                 SM_CXICON               = 11,
1404                 SM_CYICON               = 12,
1405                 SM_CXCURSOR             = 13,
1406                 SM_CYCURSOR             = 14,
1407                 SM_CYMENU               = 15,
1408                 SM_CXFULLSCREEN         = 16,
1409                 SM_CYFULLSCREEN         = 17,
1410                 SM_CYKANJIWINDOW        = 18,
1411                 SM_MOUSEPRESENT         = 19,
1412                 SM_CYVSCROLL            = 20,
1413                 SM_CXHSCROLL            = 21,
1414                 SM_DEBUG                = 22,
1415                 SM_SWAPBUTTON           = 23,
1416                 SM_RESERVED1            = 24,
1417                 SM_RESERVED2            = 25,
1418                 SM_RESERVED3            = 26,
1419                 SM_RESERVED4            = 27,
1420                 SM_CXMIN                = 28,
1421                 SM_CYMIN                = 29,
1422                 SM_CXSIZE               = 30,
1423                 SM_CYSIZE               = 31,
1424                 SM_CXFRAME              = 32,
1425                 SM_CYFRAME              = 33,
1426                 SM_CXMINTRACK           = 34,
1427                 SM_CYMINTRACK           = 35,
1428                 SM_CXDOUBLECLK          = 36,
1429                 SM_CYDOUBLECLK          = 37,
1430                 SM_CXICONSPACING        = 38,
1431                 SM_CYICONSPACING        = 39,
1432                 SM_MENUDROPALIGNMENT    = 40,
1433                 SM_PENWINDOWS           = 41,
1434                 SM_DBCSENABLED          = 42,
1435                 SM_CMOUSEBUTTONS        = 43,
1436                 SM_CXFIXEDFRAME         = SM_CXDLGFRAME, 
1437                 SM_CYFIXEDFRAME         = SM_CYDLGFRAME,  
1438                 SM_CXSIZEFRAME          = SM_CXFRAME,    
1439                 SM_CYSIZEFRAME          = SM_CYFRAME,    
1440                 SM_SECURE               = 44,
1441                 SM_CXEDGE               = 45,
1442                 SM_CYEDGE               = 46,
1443                 SM_CXMINSPACING         = 47,
1444                 SM_CYMINSPACING         = 48,
1445                 SM_CXSMICON             = 49,
1446                 SM_CYSMICON             = 50,
1447                 SM_CYSMCAPTION          = 51,
1448                 SM_CXSMSIZE             = 52,
1449                 SM_CYSMSIZE             = 53,
1450                 SM_CXMENUSIZE           = 54,
1451                 SM_CYMENUSIZE           = 55,
1452                 SM_ARRANGE              = 56,
1453                 SM_CXMINIMIZED          = 57,
1454                 SM_CYMINIMIZED          = 58,
1455                 SM_CXMAXTRACK           = 59,
1456                 SM_CYMAXTRACK           = 60,
1457                 SM_CXMAXIMIZED          = 61,
1458                 SM_CYMAXIMIZED          = 62,
1459                 SM_NETWORK              = 63,
1460                 SM_CLEANBOOT            = 67,
1461                 SM_CXDRAG               = 68,
1462                 SM_CYDRAG               = 69,
1463                 SM_SHOWSOUNDS           = 70,
1464                 SM_CXMENUCHECK          = 71,  
1465                 SM_CYMENUCHECK          = 72,
1466                 SM_SLOWMACHINE          = 73,
1467                 SM_MIDEASTENABLED       = 74,
1468                 SM_MOUSEWHEELPRESENT    = 75,
1469                 SM_XVIRTUALSCREEN       = 76,
1470                 SM_YVIRTUALSCREEN       = 77,
1471                 SM_CXVIRTUALSCREEN      = 78,
1472                 SM_CYVIRTUALSCREEN      = 79,
1473                 SM_CMONITORS            = 80,
1474                 SM_SAMEDISPLAYFORMAT    = 81,
1475                 SM_CMETRICS             = 83
1476         }
1477         #endregion
1478
1479         #region ScrollBarTypes
1480         public enum ScrollBarTypes {
1481                 SB_HORZ  = 0,
1482                 SB_VERT  = 1,
1483                 SB_CTL   = 2,
1484                 SB_BOTH  = 3
1485         }
1486         #endregion
1487
1488         #region SrollBarInfoFlags
1489         public enum ScrollBarInfoFlags {
1490                 SIF_RANGE           = 0x0001,
1491                 SIF_PAGE            = 0x0002,
1492                 SIF_POS             = 0x0004,
1493                 SIF_DISABLENOSCROLL = 0x0008,
1494                 SIF_TRACKPOS        = 0x0010,
1495                 SIF_ALL             = (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
1496         }
1497         #endregion
1498
1499         #region Enable ScrollBar flags
1500         public enum EnableScrollBarFlags {
1501                 ESB_ENABLE_BOTH     = 0x0000,
1502                 ESB_DISABLE_BOTH    = 0x0003,
1503                 ESB_DISABLE_LEFT    = 0x0001,
1504                 ESB_DISABLE_RIGHT   = 0x0002,
1505                 ESB_DISABLE_UP      = 0x0001,
1506                 ESB_DISABLE_DOWN    = 0x0002,
1507                 ESB_DISABLE_LTUP    = ESB_DISABLE_LEFT,
1508                 ESB_DISABLE_RTDN    = ESB_DISABLE_RIGHT
1509         }
1510         #endregion
1511
1512         #region Scroll Requests
1513         public enum ScrollBarRequests {
1514                 SB_LINEUP           = 0,
1515                 SB_LINELEFT         = 0,
1516                 SB_LINEDOWN         = 1,
1517                 SB_LINERIGHT        = 1,
1518                 SB_PAGEUP           = 2,
1519                 SB_PAGELEFT         = 2,
1520                 SB_PAGEDOWN         = 3,
1521                 SB_PAGERIGHT        = 3,
1522                 SB_THUMBPOSITION    = 4,
1523                 SB_THUMBTRACK       = 5,
1524                 SB_TOP              = 6,
1525                 SB_LEFT             = 6,
1526                 SB_BOTTOM           = 7,
1527                 SB_RIGHT            = 7,
1528                 SB_ENDSCROLL        = 8
1529         }
1530         #endregion
1531
1532         #region SrollWindowEx flags
1533         public enum ScrollWindowExFlags {
1534                 SW_SCROLLCHILDREN   = 0x0001,  
1535                 SW_INVALIDATE       = 0x0002,  
1536                 SW_ERASE            = 0x0004,  
1537                 SW_SMOOTHSCROLL     = 0x0010  
1538         }
1539         #endregion
1540
1541         #region ImageListFlags
1542         public enum  ImageListFlags {
1543                 ILC_MASK             = 0x0001,
1544                 ILC_COLOR            = 0x0000,
1545                 ILC_COLORDDB         = 0x00FE,
1546                 ILC_COLOR4           = 0x0004,
1547                 ILC_COLOR8           = 0x0008,
1548                 ILC_COLOR16          = 0x0010,
1549                 ILC_COLOR24          = 0x0018,
1550                 ILC_COLOR32          = 0x0020,
1551                 ILC_PALETTE          = 0x0800      
1552         }
1553         #endregion
1554
1555         #region ImageListDrawFlags
1556         public enum ImageListDrawFlags {
1557                 ILD_NORMAL              = 0x0000,
1558                 ILD_TRANSPARENT         = 0x0001,
1559                 ILD_MASK                = 0x0010,
1560                 ILD_IMAGE               = 0x0020,
1561                 ILD_ROP                 = 0x0040,
1562                 ILD_BLEND25             = 0x0002,
1563                 ILD_BLEND50             = 0x0004,
1564                 ILD_OVERLAYMASK         = 0x0F00
1565         }
1566         #endregion
1567
1568         #region List View Notifications
1569         public enum ListViewNotifications {
1570                 LVN_FIRST             =  (0-100),
1571                 LVN_GETDISPINFOW      = (LVN_FIRST-77),
1572                 LVN_SETDISPINFOA      = (LVN_FIRST-51)
1573         }
1574         #endregion
1575
1576         #region Drive Type
1577         public enum DriveType {
1578                 DRIVE_UNKNOWN     = 0,
1579                 DRIVE_NO_ROOT_DIR = 1,
1580                 DRIVE_REMOVABLE   = 2,
1581                 DRIVE_FIXED       = 3,
1582                 DRIVE_REMOTE      = 4,
1583                 DRIVE_CDROM       = 5,
1584                 DRIVE_RAMDISK     = 6
1585         }
1586         #endregion
1587
1588         #region Shell File Info Flags
1589         public enum ShellFileInfoFlags {
1590                 SHGFI_ICON              = 0x000000100,
1591                 SHGFI_DISPLAYNAME       = 0x000000200,     
1592                 SHGFI_TYPENAME          = 0x000000400,    
1593                 SHGFI_ATTRIBUTES        = 0x000000800,   
1594                 SHGFI_ICONLOCATION      = 0x000001000,     
1595                 SHGFI_EXETYPE           = 0x000002000,     
1596                 SHGFI_SYSICONINDEX      = 0x000004000,    
1597                 SHGFI_LINKOVERLAY       = 0x000008000,     
1598                 SHGFI_SELECTED          = 0x000010000,     
1599                 SHGFI_ATTR_SPECIFIED    = 0x000020000,     
1600                 SHGFI_LARGEICON         = 0x000000000,     
1601                 SHGFI_SMALLICON         = 0x000000001,     
1602                 SHGFI_OPENICON          = 0x000000002,     
1603                 SHGFI_SHELLICONSIZE     = 0x000000004,     
1604                 SHGFI_PIDL              = 0x000000008,     
1605                 SHGFI_USEFILEATTRIBUTES = 0x000000010     
1606         }
1607         #endregion
1608
1609         #region Shell Special Folder
1610         public enum ShellSpecialFolder {
1611                 CSIDL_DESKTOP                   = 0x0000,
1612                 CSIDL_INTERNET                  = 0x0001,
1613                 CSIDL_PROGRAMS                  = 0x0002,
1614                 CSIDL_CONTROLS                  = 0x0003,
1615                 CSIDL_PRINTERS                  = 0x0004,
1616                 CSIDL_PERSONAL                  = 0x0005,
1617                 CSIDL_FAVORITES                 = 0x0006,
1618                 CSIDL_STARTUP                   = 0x0007,
1619                 CSIDL_RECENT                    = 0x0008,
1620                 CSIDL_SENDTO                    = 0x0009,
1621                 CSIDL_BITBUCKET                 = 0x000a,
1622                 CSIDL_STARTMENU                 = 0x000b,
1623                 CSIDL_DESKTOPDIRECTORY          = 0x0010,
1624                 CSIDL_DRIVES                    = 0x0011,
1625                 CSIDL_NETWORK                   = 0x0012,
1626                 CSIDL_NETHOOD                   = 0x0013,
1627                 CSIDL_FONTS                     = 0x0014,
1628                 CSIDL_TEMPLATES                 = 0x0015,
1629                 CSIDL_COMMON_STARTMENU          = 0x0016,
1630                 CSIDL_COMMON_PROGRAMS           = 0X0017,
1631                 CSIDL_COMMON_STARTUP            = 0x0018,
1632                 CSIDL_COMMON_DESKTOPDIRECTORY   = 0x0019,
1633                 CSIDL_APPDATA                   = 0x001a,
1634                 CSIDL_PRINTHOOD                 = 0x001b,
1635                 CSIDL_ALTSTARTUP                = 0x001d,         
1636                 CSIDL_COMMON_ALTSTARTUP         = 0x001e,         
1637                 CSIDL_COMMON_FAVORITES          = 0x001f,
1638                 CSIDL_INTERNET_CACHE            = 0x0020,
1639                 CSIDL_COOKIES                   = 0x0021,
1640                 CSIDL_HISTORY                   = 0x0022
1641         }
1642         #endregion
1643
1644         #region ShellEnumFlags
1645         [Flags]
1646         public enum ShellEnumFlags {
1647                 SHCONTF_FOLDERS         = 32,      // for shell browser
1648                 SHCONTF_NONFOLDERS      = 64,      // for default view
1649                 SHCONTF_INCLUDEHIDDEN   = 128,     // for hidden/system objects
1650         }
1651         #endregion
1652
1653         #region ShellGetDisplayNameOfFlags
1654         [Flags]
1655         public enum ShellGetDisplayNameOfFlags {
1656                 SHGDN_NORMAL            = 0,        // default (display purpose)
1657                 SHGDN_INFOLDER          = 1,        // displayed under a folder (relative)
1658                 SHGDN_INCLUDE_NONFILESYS = 0x2000,  // if not set, display names for shell name space items that are not in the file system will fail.
1659                 SHGDN_FORADDRESSBAR     = 0x4000,   // for displaying in the address (drives dropdown) bar
1660                 SHGDN_FORPARSING        = 0x8000,   // for ParseDisplayName or path
1661         }
1662         #endregion
1663
1664         #region STRRETFlags
1665         [Flags]
1666         public enum STRRETFlags {
1667                 STRRET_WSTR     = 0x0000,                       // Use STRRET.pOleStr
1668                 STRRET_OFFSET   = 0x0001,                       // Use STRRET.uOffset to Ansi
1669                 STRRET_CSTR     = 0x0002                        // Use STRRET.cStr
1670         }
1671         #endregion
1672
1673         #region GetAttributeOfFlags
1674         [Flags]
1675         public enum GetAttributeOfFlags : long {
1676                 DROPEFFECT_NONE        = 0,
1677                 DROPEFFECT_COPY        = 1,
1678                 DROPEFFECT_MOVE            = 2,
1679                 DROPEFFECT_LINK            = 4,
1680                 DROPEFFECT_SCROLL          = 0x80000000,
1681                 SFGAO_CANCOPY          = DROPEFFECT_COPY,       // Objects can be copied
1682                 SFGAO_CANMOVE          = DROPEFFECT_MOVE,       // Objects can be moved
1683                 SFGAO_CANLINK          = DROPEFFECT_LINK,       // Objects can be linked
1684                 SFGAO_CANRENAME        = 0x00000010,            // Objects can be renamed
1685                 SFGAO_CANDELETE        = 0x00000020,            // Objects can be deleted
1686                 SFGAO_HASPROPSHEET     = 0x00000040,            // Objects have property sheets
1687                 SFGAO_DROPTARGET       = 0x00000100,            // Objects are drop target
1688                 SFGAO_CAPABILITYMASK   = 0x00000177,
1689                 SFGAO_LINK             = 0x00010000,            // Shortcut (link)
1690                 SFGAO_SHARE            = 0x00020000,            // shared
1691                 SFGAO_READONLY         = 0x00040000,            // read-only
1692                 SFGAO_GHOSTED          = 0x00080000,            // ghosted icon
1693                 SFGAO_HIDDEN           = 0x00080000,            // hidden object
1694                 SFGAO_DISPLAYATTRMASK  = 0x000F0000,
1695                 SFGAO_FILESYSANCESTOR  = 0x10000000,            // It contains file system folder
1696                 SFGAO_FOLDER           = 0x20000000,            // It's a folder.
1697                 SFGAO_FILESYSTEM       = 0x40000000,            // is a file system thing (file/folder/root)
1698                 SFGAO_HASSUBFOLDER     = 0x80000000,            // Expandable in the map pane
1699                 SFGAO_CONTENTSMASK     = 0x80000000,
1700                 SFGAO_VALIDATE         = 0x01000000,            // invalidate cached information
1701                 SFGAO_REMOVABLE        = 0x02000000,            // is this removeable media?
1702                 SFGAO_COMPRESSED       = 0x04000000,            // Object is compressed (use alt color)
1703                 SFGAO_BROWSABLE        = 0x08000000,            // is in-place browsable
1704                 SFGAO_NONENUMERATED    = 0x00100000,            // is a non-enumerated object
1705                 SFGAO_NEWCONTENT       = 0x00200000                     // should show bold in explorer tree
1706         }
1707         #endregion
1708
1709         #region ListViewItemState
1710         public enum ListViewItemState {
1711                 LVIS_FOCUSED            = 0x0001,
1712                 LVIS_SELECTED           = 0x0002,
1713                 LVIS_CUT                = 0x0004,
1714                 LVIS_DROPHILITED        = 0x0008,
1715                 LVIS_ACTIVATING         = 0x0020,
1716                 LVIS_OVERLAYMASK        = 0x0F00,
1717                 LVIS_STATEIMAGEMASK     = 0xF000
1718         }
1719         #endregion
1720
1721         #region TreeViewItemInsertPosition
1722         public enum TreeViewItemInsertPosition : long {
1723                 TVI_ROOT                = 0xFFFF0000,
1724                 TVI_FIRST               = 0xFFFF0001,
1725                 TVI_LAST                = 0xFFFF0002,
1726                 TVI_SORT                = 0xFFFF0003
1727         }
1728         #endregion
1729
1730         #region TreeViewNotifications
1731         public enum TreeViewNotifications {
1732                 TVN_FIRST               =  -400, 
1733                 TVN_SELCHANGINGA        =(TVN_FIRST-1),
1734                 TVN_SELCHANGINGW        =(TVN_FIRST-50),
1735                 TVN_SELCHANGEDA         =(TVN_FIRST-2),
1736                 TVN_SELCHANGEDW         =(TVN_FIRST-51),
1737                 TVN_GETDISPINFOA        =(TVN_FIRST-3),
1738                 TVN_GETDISPINFOW        =(TVN_FIRST-52),
1739                 TVN_SETDISPINFOA        =(TVN_FIRST-4),
1740                 TVN_SETDISPINFOW        =(TVN_FIRST-53),
1741                 TVN_ITEMEXPANDINGA      = (TVN_FIRST-5),
1742                 TVN_ITEMEXPANDINGW      = (TVN_FIRST-54),
1743                 TVN_ITEMEXPANDEDA       = (TVN_FIRST-6),
1744                 TVN_ITEMEXPANDEDW       = (TVN_FIRST-55),
1745                 TVN_BEGINDRAGA          = (TVN_FIRST-7),
1746                 TVN_BEGINDRAGW          = (TVN_FIRST-56),
1747                 TVN_BEGINRDRAGA         = (TVN_FIRST-8),
1748                 TVN_BEGINRDRAGW         = (TVN_FIRST-57),
1749                 TVN_DELETEITEMA         = (TVN_FIRST-9),
1750                 TVN_DELETEITEMW         = (TVN_FIRST-58),
1751                 TVN_BEGINLABELEDITA     = (TVN_FIRST-10),
1752                 TVN_BEGINLABELEDITW     = (TVN_FIRST-59),
1753                 TVN_ENDLABELEDITA       = (TVN_FIRST-11),
1754                 TVN_ENDLABELEDITW       = (TVN_FIRST-60),
1755                 TVN_KEYDOWN             = (TVN_FIRST-12),
1756                 TVN_GETINFOTIPA         = (TVN_FIRST-13),
1757                 TVN_GETINFOTIPW         = (TVN_FIRST-14),
1758                 TVN_SINGLEEXPAND        = (TVN_FIRST-15)
1759         }
1760         #endregion
1761
1762         #region TreeViewItemExpansion
1763         public enum TreeViewItemExpansion {
1764                 TVE_COLLAPSE            = 0x0001,
1765                 TVE_EXPAND              = 0x0002,
1766                 TVE_TOGGLE              = 0x0003,
1767                 TVE_EXPANDPARTIAL       = 0x4000,
1768                 TVE_COLLAPSERESET       = 0x8000
1769         }
1770         #endregion
1771
1772         #region WinErrors
1773         public enum WinErrors {
1774                 NOERROR = 0x00000000
1775         }
1776         #endregion
1777
1778         #region TreeViewHitTest
1779         public enum TreeViewHitTestFlags {
1780                 TVHT_NOWHERE           = 0x0001,
1781                 TVHT_ONITEMICON        = 0x0002,
1782                 TVHT_ONITEMLABEL       = 0x0004,
1783                 TVHT_ONITEM            = (TVHT_ONITEMICON | TVHT_ONITEMLABEL | TVHT_ONITEMSTATEICON),
1784                 TVHT_ONITEMINDENT      = 0x0008,
1785                 TVHT_ONITEMBUTTON      = 0x0010,
1786                 TVHT_ONITEMRIGHT       = 0x0020,
1787                 TVHT_ONITEMSTATEICON   = 0x0040,
1788                 TVHT_ABOVE             = 0x0100,
1789                 TVHT_BELOW             = 0x0200,
1790                 TVHT_TORIGHT           = 0x0400,
1791                 TVHT_TOLEFT            = 0x0800
1792         }
1793         #endregion
1794
1795         #region TreeViewItemState
1796         public enum TreeViewItemState {
1797                 TVIS_SELECTED           = 0x0002,
1798                 TVIS_CUT                = 0x0004,
1799                 TVIS_DROPHILITED        = 0x0008,
1800                 TVIS_BOLD               = 0x0010,
1801                 TVIS_EXPANDED           = 0x0020,
1802                 TVIS_EXPANDEDONCE       = 0x0040,
1803                 TVIS_EXPANDPARTIAL      = 0x0080,
1804                 TVIS_OVERLAYMASK        = 0x0F00,
1805                 TVIS_STATEIMAGEMASK     = 0xF000,
1806                 TVIS_USERMASK           = 0xF000
1807         }
1808         #endregion
1809
1810         #region Windows System Objects
1811         public enum SystemObject : long {
1812                 // Reserved IDs for system objects
1813                 OBJID_WINDOW        = 0x00000000,
1814                 OBJID_SYSMENU       = 0xFFFFFFFF,
1815                 OBJID_TITLEBAR      = 0xFFFFFFFE,
1816                 OBJID_MENU          = 0xFFFFFFFD,
1817                 OBJID_CLIENT        = 0xFFFFFFFC,
1818                 OBJID_VSCROLL       = 0xFFFFFFFB,
1819                 OBJID_HSCROLL       = 0xFFFFFFFA,
1820                 OBJID_SIZEGRIP      = 0xFFFFFFF9,
1821                 OBJID_CARET         = 0xFFFFFFF8,
1822                 OBJID_CURSOR        = 0xFFFFFFF7,
1823                 OBJID_ALERT         = 0xFFFFFFF6,
1824                 OBJID_SOUND         = 0xFFFFFFF5
1825         }
1826         #endregion
1827
1828         #region SystemState
1829         public enum SystemState {
1830                 STATE_SYSTEM_UNAVAILABLE        = 0x00000001, // Disabled
1831                 STATE_SYSTEM_SELECTED           = 0x00000002,
1832                 STATE_SYSTEM_FOCUSED            = 0x00000004,
1833                 STATE_SYSTEM_PRESSED            = 0x00000008,
1834                 STATE_SYSTEM_CHECKED            = 0x00000010,
1835                 STATE_SYSTEM_MIXED              = 0x00000020, // 3-state checkbox or toolbar button
1836                 STATE_SYSTEM_READONLY           = 0x00000040,
1837                 STATE_SYSTEM_HOTTRACKED         = 0x00000080,
1838                 STATE_SYSTEM_DEFAULT            = 0x00000100,
1839                 STATE_SYSTEM_EXPANDED           = 0x00000200,
1840                 STATE_SYSTEM_COLLAPSED          = 0x00000400,
1841                 STATE_SYSTEM_BUSY               = 0x00000800,
1842                 STATE_SYSTEM_FLOATING           = 0x00001000, // Children "owned" not "contained" by parent
1843                 STATE_SYSTEM_MARQUEED           = 0x00002000,
1844                 STATE_SYSTEM_ANIMATED           = 0x00004000,
1845                 STATE_SYSTEM_INVISIBLE          = 0x00008000,
1846                 STATE_SYSTEM_OFFSCREEN          = 0x00010000,
1847                 STATE_SYSTEM_SIZEABLE           = 0x00020000,
1848                 STATE_SYSTEM_MOVEABLE           = 0x00040000,
1849                 STATE_SYSTEM_SELFVOICING        = 0x00080000,
1850                 STATE_SYSTEM_FOCUSABLE          = 0x00100000,
1851                 STATE_SYSTEM_SELECTABLE         = 0x00200000,
1852                 STATE_SYSTEM_LINKED             = 0x00400000,
1853                 STATE_SYSTEM_TRAVERSED          = 0x00800000,
1854                 STATE_SYSTEM_MULTISELECTABLE    = 0x01000000,  // Supports multiple selection
1855                 STATE_SYSTEM_EXTSELECTABLE      = 0x02000000,  // Supports extended selection
1856                 STATE_SYSTEM_ALERT_LOW          = 0x04000000,  // This information is of low priority
1857                 STATE_SYSTEM_ALERT_MEDIUM       = 0x08000000,  // This information is of medium priority
1858                 STATE_SYSTEM_ALERT_HIGH         = 0x10000000,  // This information is of high priority
1859                 STATE_SYSTEM_VALID              = 0x1FFFFFFF
1860         }
1861         #endregion
1862
1863         #region QueryContextMenuFlags
1864         public enum QueryContextMenuFlags : long {
1865                 CMF_NORMAL              = 0x00000000,
1866                 CMF_DEFAULTONLY         = 0x00000001,
1867                 CMF_VERBSONLY           = 0x00000002,
1868                 CMF_EXPLORE             = 0x00000004,
1869                 CMF_NOVERBS             = 0x00000008,
1870                 CMF_CANRENAME           = 0x00000010,
1871                 CMF_NODEFAULT           = 0x00000020,
1872                 CMF_INCLUDESTATIC       = 0x00000040,
1873                 CMF_RESERVED            = 0xffff0000  
1874         }
1875         #endregion
1876
1877         #region GetWindowLongFlag
1878         public enum GetWindowLongFlag {
1879                 GWL_WNDPROC         = (-4),
1880                 GWL_HINSTANCE       = (-6),
1881                 GWL_HWNDPARENT      = (-8),
1882                 GWL_STYLE           = (-16),
1883                 GWL_EXSTYLE         = (-20),
1884                 GWL_USERDATA        = (-21),
1885                 GWL_ID              = (-12)
1886         }
1887         #endregion
1888
1889         #region CommonControlMessages
1890         public enum CommonControlMessages {
1891                 CCM_FIRST               = 0x2000,                       // Common control shared messages
1892                 CCM_SETBKCOLOR          = (CCM_FIRST + 1),      // lParam is bkColor
1893                 CCM_SETCOLORSCHEME      = (CCM_FIRST + 2),      // lParam is color scheme
1894                 CCM_GETCOLORSCHEME      = (CCM_FIRST + 3),      // fills in COLORSCHEME pointed to by lParam
1895                 CCM_GETDROPTARGET       = (CCM_FIRST + 4),
1896                 CCM_SETUNICODEFORMAT    = (CCM_FIRST + 5),
1897                 CCM_GETUNICODEFORMAT    = (CCM_FIRST + 6),
1898                 CCM_SETVERSION          = (CCM_FIRST + 7)
1899         }
1900         #endregion
1901
1902         #region PenStyle
1903         public enum PenStyle {
1904                 PS_SOLID            = 0,
1905                 PS_DASH             = 1,      
1906                 PS_DOT              = 2,     
1907                 PS_DASHDOT          = 3,      
1908                 PS_DASHDOTDOT       = 4,       
1909                 PS_NULL             = 5,
1910                 PS_INSIDEFRAME      = 6,
1911                 PS_USERSTYLE        = 7,
1912                 PS_ALTERNATE        = 8,
1913                 PS_STYLE_MASK       = 0x0000000F,
1914                 PS_ENDCAP_ROUND     = 0x00000000,
1915                 PS_ENDCAP_SQUARE    = 0x00000100,
1916                 PS_ENDCAP_FLAT      = 0x00000200,
1917                 PS_ENDCAP_MASK      = 0x00000F00,
1918                 PS_JOIN_ROUND       = 0x00000000,
1919                 PS_JOIN_BEVEL       = 0x00001000,
1920                 PS_JOIN_MITER       = 0x00002000,
1921                 PS_JOIN_MASK        = 0x0000F000,
1922                 PS_COSMETIC         = 0x00000000,
1923                 PS_GEOMETRIC        = 0x00010000,
1924                 PS_TYPE_MASK        = 0x000F0000
1925         }
1926         #endregion
1927
1928         #region ImageListDrawColor
1929         public enum ImageListDrawColor {
1930                 None,           
1931                 Default     
1932         }
1933         #endregion
1934
1935         #region ImageList Draw Colors
1936         internal enum ImageListDrawColors : uint {
1937                 CLR_NONE                = 0xFFFFFFFF,
1938                 CLR_DEFAULT     = 0xFF000000
1939         }
1940         #endregion
1941
1942         #region WM_SIZE_Param_Values
1943         public enum WM_SIZE_Param_Values {
1944                 SIZE_RESTORED       = 0,
1945                 SIZE_MINIMIZED      = 1,
1946                 SIZE_MAXIMIZED      = 2,
1947                 SIZE_MAXSHOW        = 3,
1948                 SIZE_MAXHIDE        = 4
1949         }
1950         #endregion
1951
1952         #region WMSizingMessage
1953         public enum WM_Sizing_Message_Param_Values {    
1954                 /* wParam for WM_SIZING message */
1955                 WMSZ_LEFT           = 1,
1956                 WMSZ_RIGHT          = 2,
1957                 WMSZ_TOP            = 3,
1958                 WMSZ_TOPLEFT        = 4,
1959                 WMSZ_TOPRIGHT       = 5,
1960                 WMSZ_BOTTOM         = 6,
1961                 WMSZ_BOTTOMLEFT     = 7,
1962                 WMSZ_BOTTOMRIGHT    = 8
1963         }
1964         #endregion WMSizingMessage
1965
1966         /* Win32 4.0 messages for IME */
1967         //      internal const uint IME_SETCONTEXT           = 0x0281;
1968         //      internal const uint IME_NOTIFY               = 0x0282;
1969         //      internal const uint IME_CONTROL              = 0x0283;
1970         //      internal const uint IME_COMPOSITIONFULL      = 0x0284;
1971         //      internal const uint IME_SELECT               = 0x0285;
1972         //      internal const uint IME_CHAR                 = 0x0286;
1973         //      /* Win32 5.0 messages for IME */
1974         //      internal const uint IME_REQUEST              = 0x0288;
1975         //
1976         //      /* Win32 4.0 messages for IME */
1977         //      internal const uint IME_KEYDOWN              = 0x0290;
1978         //      internal const uint IME_KEYUP                = 0x0291;
1979
1980         #region CS_Types
1981         [Flags]
1982         internal enum CS_ {
1983                 CS_VREDRAW          = 0x0001,
1984                 CS_HREDRAW          = 0x0002,
1985                 CS_KEYCVTWINDOW     = 0x0004,
1986                 CS_DBLCLKS          = 0x0008,
1987                 CS_OWNDC            = 0x0020,
1988                 CS_CLASSDC          = 0x0040,
1989                 CS_PARENTDC         = 0x0080,
1990                 CS_NOKEYCVT         = 0x0100,
1991                 CS_NOCLOSE          = 0x0200,
1992                 CS_SAVEBITS         = 0x0800,
1993                 CS_BYTEALIGNCLIENT  = 0x1000,
1994                 CS_BYTEALIGNWINDOW  = 0x2000,
1995                 CS_GLOBALCLASS      = 0x4000,
1996                 CS_IME              = 0x00010000
1997         }
1998         #endregion 
1999         
2000         #region PeekMessage
2001         internal enum PeekMessage {
2002                 // PeekMessage types
2003                 PM_NOREMOVE     = 0x0000,
2004                 PM_REMOVE       = 0x0001,
2005                 PM_NOYIELD      = 0x0002
2006         }
2007         #endregion 
2008
2009         #region WB_MessageBox_Types
2010         internal enum WB_MessageBox_Types {
2011                 // MessageBox types
2012                 MB_OK                   = 0x00000000,
2013                 MB_OKCANCEL             = 0x00000001,
2014                 MB_ABORTRETRYIGNORE     = 0x00000002,
2015                 MB_YESNOCANCEL          = 0x00000003,
2016                 MB_YESNO                = 0x00000004,
2017                 MB_RETRYCANCEL          = 0x00000005,
2018                 MB_TYPEMASK             = 0x0000000F,
2019                 MB_APPLMODAL                    = 0x00000000,
2020                 MB_SYSTEMMODAL                  = 0x00001000,
2021                 MB_TASKMODAL                    = 0x00002000,
2022                 MB_MODEMASK                             = 0x00003000
2023         }
2024         #endregion 
2025
2026         #region Static Contreol Types
2027         internal enum SS_Static_Control_Types {
2028                 // Static Control Styles
2029                 SS_LEFT             = 0x00000000,
2030                 SS_CENTER           = 0x00000001,
2031                 SS_RIGHT            = 0x00000002,
2032                 SS_ICON             = 0x00000003,
2033                 SS_BLACKRECT        = 0x00000004,
2034                 SS_GRAYRECT         = 0x00000005,
2035                 SS_WHITERECT        = 0x00000006,
2036                 SS_BLACKFRAME       = 0x00000007,
2037                 SS_GRAYFRAME        = 0x00000008,
2038                 SS_WHITEFRAME       = 0x00000009,
2039
2040                 SS_SIMPLE           = 0x0000000B,
2041                 SS_LEFTNOWORDWRAP   = 0x0000000C,
2042                 
2043                 SS_OWNERDRAW        = 0x0000000D,
2044                 SS_BITMAP           = 0x0000000E,
2045                 SS_ENHMETAFILE      = 0x0000000F,
2046
2047                 SS_ETCHEDHORZ       = 0x00000010,
2048                 SS_ETCHEDVERT       = 0x00000011,
2049                 SS_ETCHEDFRAME      = 0x00000012,
2050                 SS_TYPEMASK         = 0x0000001F,
2051                 
2052                 SS_NOPREFIX         = 0x00000080,
2053                 SS_NOTIFY           = 0x00000100,
2054                 SS_CENTERIMAGE      = 0x00000200,
2055                 SS_RIGHTJUST        = 0x00000400,
2056                 SS_REALSIZEIMAGE    = 0x00000800,
2057                 SS_SUNKEN           = 0x00001000
2058         }
2059         #endregion 
2060
2061         #region WF_
2062         internal enum MF_ {
2063                 MF_INSERT           = 0x0,
2064                 MF_CHANGE           = 0x80,
2065                 MF_APPEND           = 0x100,
2066                 MF_DELETE           = 0x200,
2067                 MF_REMOVE           = 0x1000,
2068                 MF_BYCOMMAND        = 0,
2069                 MF_BYPOSITION       = 0x400,
2070                 MF_SEPARATOR        = 0x800,
2071                 MF_ENABLED          = 0, 
2072                 MF_GRAYED           = 1,
2073                 MF_DISABLED         = 2,
2074                 MF_UNCHECKED        = 0,
2075                 MF_CHECKED          = 8,
2076                 MF_USECHECKBITMAPS  = 0x200,
2077                 MF_STRING           = 0,
2078                 MF_BITMAP           = 4,
2079                 MF_OWNERDRAW        = 0x100,
2080                 MF_POPUP            = 0x10,
2081                 MF_MENUBARBREAK     = 0x20,
2082                 MF_MENUBREAK        = 0x40,
2083                 MF_UNHILITE         = 0,
2084                 MF_HILITE           = 0x80,
2085                 MF_DEFAULT          = 0x1000,
2086                 MF_SYSMENU          = 0x2000,
2087                 MF_HELP             = 0x4000,
2088                 MF_RIGHTJUSTIFY     = 0x4000
2089         }
2090         #endregion 
2091
2092         internal enum FM_ {
2093                 FORMAT_MESSAGE_ALLOCATE_BUFFER  = 0x100,
2094                 FORMAT_MESSAGE_IGNORE_INSERTS   = 0x200,
2095                 FORMAT_MESSAGE_FROM_STRING      = 0x400,
2096                 FORMAT_MESSAGE_FROM_HMODULE     = 0x800,
2097                 FORMAT_MESSAGE_FROM_SYSTEM      = 0x1000,
2098                 FORMAT_MESSAGE_ARGUMENT_ARRAY   = 0x2000,
2099                 FORMAT_MESSAGE_MAX_WIDTH_MASK   = 0xFF
2100         }
2101         
2102         internal enum LC_ {
2103                 IDC_ARROW           =32512,
2104                 IDC_IBEAM           =32513,
2105                 IDC_WAIT            =32514,
2106                 IDC_CROSS           =32515,
2107                 IDC_UPARROW         =32516,
2108                 IDC_SIZE            =32640, 
2109                 IDC_ICON            =32641, 
2110                 IDC_SIZENWSE        =32642,
2111                 IDC_SIZENESW        =32643,
2112                 IDC_SIZEWE          =32644,
2113                 IDC_SIZENS          =32645,
2114                 IDC_SIZEALL         =32646,
2115                 IDC_NO              =32648, 
2116                 IDC_HAND            =32649,
2117                 IDC_APPSTARTING     =32650, 
2118                 IDC_HELP            =32651 
2119         }
2120         internal enum GSO_ {
2121                 WHITE_BRUSH         =0,
2122                 LTGRAY_BRUSH        =1,
2123                 GRAY_BRUSH          =2,
2124                 DKGRAY_BRUSH        =3,
2125                 BLACK_BRUSH         =4,
2126                 NULL_BRUSH          =5,
2127                 HOLLOW_BRUSH        =5,
2128                 WHITE_PEN           =6,
2129                 BLACK_PEN           =7,
2130                 NULL_PEN            =8,
2131                 OEM_FIXED_FONT      =10,
2132                 ANSI_FIXED_FONT     =11,
2133                 ANSI_VAR_FONT       =12,
2134                 SYSTEM_FONT         =13,
2135                 DEVICE_DEFAULT_FONT =14,
2136                 DEFAULT_PALETTE     =15,
2137                 SYSTEM_FIXED_FONT   =16,
2138                 DEFAULT_GUI_FONT    =17
2139         }
2140
2141         internal enum GetSysColorIndex {
2142                 COLOR_SCROLLBAR         =0,
2143                 COLOR_BACKGROUND        =1,
2144                 COLOR_ACTIVECAPTION     =2,
2145                 COLOR_INACTIVECAPTION   =3,
2146                 COLOR_MENU              =4,
2147                 COLOR_WINDOW            =5,
2148                 COLOR_WINDOWFRAME       =6,
2149                 COLOR_MENUTEXT          =7,
2150                 COLOR_WINDOWTEXT        =8,
2151                 COLOR_CAPTIONTEXT       =9,
2152                 COLOR_ACTIVEBORDER      =10,
2153                 COLOR_INACTIVEBORDER    =11,
2154                 COLOR_APPWORKSPACE      =12,
2155                 COLOR_HIGHLIGHT         =13,
2156                 COLOR_HIGHLIGHTTEXT     =14,
2157                 COLOR_BTNFACE           =15,
2158                 COLOR_BTNSHADOW         =16,
2159                 COLOR_GRAYTEXT          =17,
2160                 COLOR_BTNTEXT           =18,
2161                 COLOR_INACTIVECAPTIONTEXT =19,
2162                 COLOR_BTNHIGHLIGHT      =20,
2163                 COLOR_3DDKSHADOW        =21,
2164                 COLOR_3DLIGHT           =22,
2165                 COLOR_INFOTEXT          =23,
2166                 COLOR_INFOBK            =24,
2167                 COLOR_DESKTOP           =1,
2168                 COLOR_3DFACE            =16,
2169                 COLOR_3DSHADOW          =16,
2170                 COLOR_3DHIGHLIGHT       =20,
2171                 COLOR_3DHILIGHT         =20,
2172                 COLOR_BTNHILIGHT        =20
2173         }
2174         
2175         internal enum ButtonStyles : uint {
2176                 BS_PUSHBUTTON       =0,
2177                 BS_DEFPUSHBUTTON    =1,
2178                 BS_CHECKBOX         =2,
2179                 BS_AUTOCHECKBOX     =3,
2180                 BS_RADIOBUTTON      =4,
2181                 BS_3STATE           =5,
2182                 BS_AUTO3STATE       =6,
2183                 BS_GROUPBOX         =7,
2184                 BS_USERBUTTON       =8,
2185                 BS_AUTORADIOBUTTON  =9,
2186                 BS_OWNERDRAW        =11,
2187                 BS_LEFTTEXT         =0x20,
2188                 BS_TEXT             =0,
2189                 BS_ICON             =0x40,
2190                 BS_BITMAP           =0x80,
2191                 BS_LEFT             =0x100,
2192                 BS_RIGHT            =0x200,
2193                 BS_CENTER           =0x300,
2194                 BS_TOP              =0x400,
2195                 BS_BOTTOM           =0x800,
2196                 BS_VCENTER          =0xC00,
2197                 BS_PUSHLIKE         =0x1000,
2198                 BS_MULTILINE        =0x2000,
2199                 BS_NOTIFY           =0x4000,
2200                 BS_FLAT             =0x8000,
2201                 BS_RIGHTBUTTON      =0x20
2202         }
2203
2204         internal enum ButtonNotification : uint {
2205                 BN_CLICKED          =0,
2206                 BN_PAINT            =1,
2207                 BN_HILITE           =2,
2208                 BN_UNHILITE         =3,
2209                 BN_DISABLE          =4,
2210                 BN_DOUBLECLICKED    =5,
2211                 BN_PUSHED           =2,
2212                 BN_UNPUSHED         =3,
2213                 BN_DBLCLK           =5,
2214                 BN_SETFOCUS         =6,
2215                 BN_KILLFOCUS        =7
2216         }
2217
2218         internal enum ButtonMessages : uint {
2219                 BM_GETCHECK          =0x00f0,
2220                 BM_SETCHECK          =0x00f1,
2221                 BM_GETSTATE          =0x00f2,
2222                 BM_SETSTATE          =0x00f3,
2223                 BM_SETSTYLE          =0x00f4,
2224                 BM_CLICK             =0x00f5,
2225                 BM_GETIMAGE          =0x00f6,
2226                 BM_SETIMAGE          =0x00f7
2227         }
2228
2229         internal enum NativeButtonState : int {
2230                 BST_UNCHECKED        = 0x0000,
2231                 BST_CHECKED          = 0x0001,
2232                 BST_INDETERMINATE    = 0x0002,
2233                 BST_PUSHED           = 0x0004,
2234                 BST_FOCUS            = 0x0008
2235         }
2236
2237         internal enum ComboBoxNotification : int {
2238                 CBN_ERRSPACE        =-1,
2239                 CBN_SELCHANGE       =1,
2240                 CBN_DBLCLK          =2,
2241                 CBN_SETFOCUS        =3,
2242                 CBN_KILLFOCUS       =4,
2243                 CBN_EDITCHANGE      =5,
2244                 CBN_EDITUPDATE      =6,
2245                 CBN_DROPDOWN        =7,
2246                 CBN_CLOSEUP         =8,
2247                 CBN_SELENDOK        =9,
2248                 CBN_SELENDCANCEL    =10
2249         }
2250
2251         internal enum ListBoxMessages {
2252                 LB_ADDSTRING            =0x0180,
2253                 LB_INSERTSTRING         =0x0181,
2254                 LB_DELETESTRING         =0x0182,
2255                 LB_SELITEMRANGEEX       =0x0183,
2256                 LB_RESETCONTENT         =0x0184,
2257                 LB_SETSEL               =0x0185,
2258                 LB_SETCURSEL            =0x0186,
2259                 LB_GETSEL               =0x0187,
2260                 LB_GETCURSEL            =0x0188,
2261                 LB_GETTEXT              =0x0189,
2262                 LB_GETTEXTLEN           =0x018A,
2263                 LB_GETCOUNT             =0x018B,
2264                 LB_SELECTSTRING         =0x018C,
2265                 LB_DIR                  =0x018D,
2266                 LB_GETTOPINDEX          =0x018E,
2267                 LB_FINDSTRING           =0x018F,
2268                 LB_GETSELCOUNT          =0x0190,
2269                 LB_GETSELITEMS          =0x0191,
2270                 LB_SETTABSTOPS          =0x0192,
2271                 LB_GETHORIZONTALEXTENT  =0x0193,
2272                 LB_SETHORIZONTALEXTENT  =0x0194,
2273                 LB_SETCOLUMNWIDTH       =0x0195,
2274                 LB_ADDFILE              =0x0196,
2275                 LB_SETTOPINDEX          =0x0197,
2276                 LB_GETITEMRECT          =0x0198,
2277                 LB_GETITEMDATA          =0x0199,
2278                 LB_SETITEMDATA          =0x019A,
2279                 LB_SELITEMRANGE         =0x019B,
2280                 LB_SETANCHORINDEX       =0x019C,
2281                 LB_GETANCHORINDEX       =0x019D,
2282                 LB_SETCARETINDEX        =0x019E,
2283                 LB_GETCARETINDEX        =0x019F,
2284                 LB_SETITEMHEIGHT        =0x01A0,
2285                 LB_GETITEMHEIGHT        =0x01A1,
2286                 LB_FINDSTRINGEXACT      =0x01A2,
2287                 LB_SETLOCALE            =0x01A5,
2288                 LB_GETLOCALE            =0x01A6,
2289                 LB_SETCOUNT             =0x01A7,
2290                 LB_INITSTORAGE          =0x01A8,
2291                 LB_ITEMFROMPOINT        =0x01A9,
2292                 LB_MSGMAX               =0x01B0,
2293                 LB_MSGMAX_351           =0x01A8
2294         }
2295
2296         internal enum ListBoxStyles : long {
2297                 LBS_NOTIFY            = 0x0001,
2298                 LBS_SORT              = 0x0002,
2299                 LBS_NOREDRAW          = 0x0004,
2300                 LBS_MULTIPLESEL       = 0x0008,
2301                 LBS_OWNERDRAWFIXED    = 0x0010,
2302                 LBS_OWNERDRAWVARIABLE = 0x0020,
2303                 LBS_HASSTRINGS        = 0x0040,
2304                 LBS_USETABSTOPS       = 0x0080,
2305                 LBS_NOINTEGRALHEIGHT  = 0x0100,
2306                 LBS_MULTICOLUMN       = 0x0200,
2307                 LBS_WANTKEYBOARDINPUT = 0x0400,
2308                 LBS_EXTENDEDSEL       = 0x0800,
2309                 LBS_DISABLENOSCROLL   = 0x1000,
2310                 LBS_NODATA            = 0x2000,
2311                 LBS_NOSEL             = 0x4000,
2312                 LBS_STANDARD          = 0x03 | WindowStyles.WS_VSCROLL | WindowStyles.WS_BORDER
2313         }
2314
2315         internal enum ListBoxNotifications : int {
2316                 LB_OKAY             =0,
2317                 LB_ERR              =-1,
2318                 LBN_ERRSPACE        =-2,
2319                 LBN_SELCHANGE       =1,
2320                 LBN_DBLCLK          =2,
2321                 LBN_SELCANCEL       =3,
2322                 LBN_SETFOCUS        =4,
2323                 LBN_KILLFOCUS       =5
2324         }
2325
2326         #region Trackbar Control Messages
2327         internal enum TrackbarMessages {
2328                 TBM_GETPOS          =  ( Msg.WM_USER ),
2329                 TBM_GETRANGEMIN     =  ( Msg.WM_USER + 1),
2330                 TBM_GETRANGEMAX     =  ( Msg.WM_USER + 2),
2331                 TBM_GETTIC          =  ( Msg.WM_USER + 3),
2332                 TBM_SETTIC          =  ( Msg.WM_USER + 4),
2333                 TBM_SETPOS          =  ( Msg.WM_USER + 5 ),
2334                 TBM_SETRANGE        =  ( Msg.WM_USER + 6 ),
2335                 TBM_SETRANGEMIN     =  ( Msg.WM_USER + 7 ),
2336                 TBM_SETRANGEMAX     =  ( Msg.WM_USER + 8 ),
2337                 TBM_CLEARTICS       =  ( Msg.WM_USER + 9 ),
2338                 TBM_SETSEL          =  ( Msg.WM_USER + 10 ),
2339                 TBM_SETSELSTART     =  ( Msg.WM_USER + 11 ),
2340                 TBM_SETSELEND       =  ( Msg.WM_USER + 12 ),
2341                 TBM_GETPTICS        =  ( Msg.WM_USER + 14 ),
2342                 TBM_GETTICPOS       =  ( Msg.WM_USER + 15 ),
2343                 TBM_GETNUMTICS      =  ( Msg.WM_USER + 16 ),
2344                 TBM_GETSELSTART     =  ( Msg.WM_USER + 17 ),
2345                 TBM_GETSELEND       =  ( Msg.WM_USER + 18 ),
2346                 TBM_CLEARSEL        =  ( Msg.WM_USER + 19 ),
2347                 TBM_SETTICFREQ      =  ( Msg.WM_USER + 20 ),
2348                 TBM_SETPAGESIZE     =  ( Msg.WM_USER + 21 ),
2349                 TBM_GETPAGESIZE     =  ( Msg.WM_USER + 22 ),
2350                 TBM_SETLINESIZE     =  ( Msg.WM_USER + 23 ),
2351                 TBM_GETLINESIZE     =  ( Msg.WM_USER + 24 ),
2352                 TBM_GETTHUMBRECT    =  ( Msg.WM_USER + 25 ),
2353                 TBM_GETCHANNELRECT  =  ( Msg.WM_USER + 26 ),
2354                 TBM_SETTHUMBLENGTH  =  ( Msg.WM_USER + 27 ),
2355                 TBM_GETTHUMBLENGTH  =  ( Msg.WM_USER + 28 ),
2356                 TBM_SETTOOLTIPS     =  ( Msg.WM_USER + 29 ),
2357                 TBM_GETTOOLTIPS     =  ( Msg.WM_USER + 30 ),
2358                 TBM_SETTIPSIDE      =  ( Msg.WM_USER + 31 )
2359         }
2360         #endregion
2361                 
2362         #region Trackbar Control Styles
2363         public enum TrackbarControlStyles {
2364                 TBS_AUTOTICKS       =    0x0001,
2365                 TBS_VERT            =    0x0002,
2366                 TBS_HORZ            =    0x0000,
2367                 TBS_TOP             =    0x0004,
2368                 TBS_BOTTOM          =    0x0000,
2369                 TBS_LEFT            =    0x0004,
2370                 TBS_RIGHT           =    0x0000,
2371                 TBS_BOTH            =    0x0008,
2372                 TBS_NOTICKS         =    0x0010,
2373                 TBS_ENABLESELRANGE  =    0x0020,
2374                 TBS_FIXEDLENGTH     =    0x0040,
2375                 TBS_NOTHUMB         =    0x0080,
2376                 TBS_TOOLTIPS        =    0x0100
2377         }
2378         #endregion
2379
2380         internal enum TrackbarNotifications : int {
2381                 TB_LINEUP           =    0,
2382                 TB_LINEDOWN         =    1,
2383                 TB_PAGEUP           =    2,
2384                 TB_PAGEDOWN         =    3,
2385                 TB_THUMBPOSITION    =    4,
2386                 TB_THUMBTRACK       =    5,
2387                 TB_TOP              =    6,
2388                 TB_BOTTOM           =    7,
2389                 TB_ENDTRACK         =    8
2390         }
2391
2392         #region StatusBar Control Styles
2393         public enum StatusbarControlStyles {
2394                 SBARS_SIZEGRIP      =    0x0100,
2395                 SBT_TOOLTIPS        =    0x0800
2396         }
2397         #endregion
2398
2399         #region StatusBar notifications
2400         internal enum StatusbarNotifications : int {
2401                 SBN_FIRST       = (0 - 880),
2402                 SBN_LAST        = (0 - 899),
2403                 SBN_SIMPLEMODECHANGE = (SBN_FIRST - 0)
2404         }
2405         #endregion
2406
2407         #region Statusbar Control Messages
2408         internal enum StatusbarMessages {
2409                 SB_SETTEXT      = ( Msg.WM_USER+1 ),
2410                 SB_GETTEXT      = ( Msg.WM_USER+2 ),
2411                 SB_GETTEXTLENGTH= ( Msg.WM_USER+3 ),
2412                 SB_SETPARTS     = ( Msg.WM_USER+4 ),
2413                 SB_GETPARTS     = ( Msg.WM_USER+6 ),
2414                 SB_GETBORDERS   = ( Msg.WM_USER+7 ),
2415                 SB_SETMINHEIGHT = ( Msg.WM_USER+8 ),
2416                 SB_SIMPLE       = ( Msg.WM_USER+9 ),
2417                 SB_GETRECT      = ( Msg.WM_USER+10),
2418                 SB_ISSIMPLE     = ( Msg.WM_USER+14),
2419                 SB_SETICON      = ( Msg.WM_USER+15),
2420                 SB_SETTIPTEXT   = ( Msg.WM_USER+16),
2421                 SB_GETTIPTEXT   = ( Msg.WM_USER+18),
2422                 SB_GETICON      = ( Msg.WM_USER+20),
2423                 SB_SETBKCOLOR   = CommonControlMessages.CCM_SETBKCOLOR
2424         }
2425         #endregion
2426
2427         #region Statusbar Drawing Operations Types
2428         internal enum StatusbarDrawType {
2429                 SBT_OWNERDRAW   = 0x1000,
2430                 SBT_NOBORDERS   = 0x0100,
2431                 SBT_POPOUT      = 0x0200,
2432                 SBT_RTLREADING  = 0x0400
2433         }
2434         #endregion
2435
2436         #region DateTimePicker Control Styles
2437         public enum DateTimePickerControlStyles 
2438         {
2439                 DTS_UPDOWN    =       0x0001,
2440                 DTS_SHOWNONE  =       0x0002,
2441                 DTS_SHORTDATEFORMAT = 0x0000,
2442                 DTS_LONGDATEFORMAT  = 0x0004,
2443                 DTS_TIMEFORMAT      = 0x0009,
2444                 DTS_APPCANPARSE     = 0x0010,
2445                 DTS_RIGHTALIGN      = 0x0020
2446         }
2447         #endregion
2448
2449         #region DateTimePicker Control Messages
2450         internal enum DateTimePickerMessages 
2451         {
2452                 DTM_FIRST               =  0x1000,
2453                 DTM_GETSYSTEMTIME       = (DTM_FIRST + 1),
2454                 DTM_SETSYSTEMTIME       = (DTM_FIRST + 2),
2455                 DTM_GETRANGE            = (DTM_FIRST + 3),
2456                 DTM_SETRANGE            = (DTM_FIRST + 4),
2457                 DTM_SETFORMATA          = (DTM_FIRST + 5),
2458                 DTM_SETMCCOLOR          = (DTM_FIRST + 6),
2459                 DTM_GETMCCOLOR          = (DTM_FIRST + 7),
2460                 DTM_GETMONTHCAL         = (DTM_FIRST + 8),
2461                 DTM_SETMCFONT           = (DTM_FIRST + 9),
2462                 DTM_GETMCFONT           = (DTM_FIRST + 10),
2463                 DTM_SETFORMATW          = (DTM_FIRST + 50)
2464         }
2465         #endregion
2466
2467         #region DateTimePicker Control Flags
2468         internal enum DateTimePickerFlags
2469         {
2470                 GDT_ERROR    = -1,
2471                 GDT_VALID    = 0,
2472                 GDT_NONE     = 1,
2473                 GDTR_MIN     = 0x0001,
2474                 GDTR_MAX     = 0x0002
2475         }
2476         #endregion
2477
2478         #region DateTimePicker Notifications
2479         internal enum DateTimePickerNotifications
2480         {
2481                 DTN_FIRST               = (0 - 760),
2482                 DTN_DATETIMECHANGE      = (DTN_FIRST + 1),
2483                 DTN_USERSTRINGA         = (DTN_FIRST + 2),
2484                 DTN_WMKEYDOWNA          = (DTN_FIRST + 3),
2485                 DTN_FORMATA             = (DTN_FIRST + 4),
2486                 DTN_FORMATQUERYA        = (DTN_FIRST + 5),
2487                 DTN_DROPDOWN            = (DTN_FIRST + 6),
2488                 DTN_CLOSEUP             = (DTN_FIRST + 7),
2489                 DTN_USERSTRINGW         = (DTN_FIRST + 15),
2490                 DTN_WMKEYDOWNW          = (DTN_FIRST + 16),
2491                 DTN_FORMATW             = (DTN_FIRST + 17),
2492                 DTN_FORMATQUERYW        = (DTN_FIRST + 18)
2493         }
2494         #endregion
2495
2496         #region ToolTipControl Messages
2497         internal enum ToolTipControlMessages
2498         {
2499                 TTM_ACTIVATE            = (Msg.WM_USER + 1),
2500                 TTM_SETDELAYTIME        = (Msg.WM_USER + 3),
2501                 TTM_SETMAXTIPWIDTH      = (Msg.WM_USER + 24),
2502                 TTM_ADDTOOL             = (Msg.WM_USER + 50),
2503                 TTM_DELTOOL             = (Msg.WM_USER + 51),
2504                 TTM_UPDATETIPTEXT       = (Msg.WM_USER +57)
2505
2506         }
2507         #endregion
2508
2509         #region ToolTipControl Styles
2510         internal enum ToolTipControlStyles
2511         {
2512                 TTS_ALWAYSTIP           = 0x01,
2513                 TTS_NOPREFIX            = 0x02
2514         }
2515         #endregion
2516
2517         #region ToolTipControlDelay Flags
2518         internal enum ToolTipControlDelayFlags {
2519                 TTDT_AUTOMATIC          = 0,
2520                 TTDT_RESHOW             = 1,
2521                 TTDT_AUTOPOP            = 2,
2522                 TTDT_INITIAL            = 3
2523         }
2524         #endregion
2525         
2526         #region MonthCal Colors
2527         internal enum MonthCalColors
2528         {
2529                 MCSC_BACKGROUND   = 0,
2530                 MCSC_TEXT         = 1,
2531                 MCSC_TITLEBK      = 2,
2532                 MCSC_TITLETEXT    = 3,
2533                 MCSC_MONTHBK      = 4,
2534                 MCSC_TRAILINGTEXT = 5
2535         }
2536         #endregion
2537
2538         internal enum OwnerDrawTypes : int 
2539         {
2540                 ODT_COMBOBOX = 3,
2541                 ODT_LISTBOX = 2,
2542                 ODT_LISTVIEW = 102,
2543                 ODT_MENU = 1,
2544                 ODT_BUTTON = 4,
2545                 ODT_STATIC = 5,
2546                 ODT_TAB = 101,
2547                 ODT_HEADER = 100
2548         }
2549
2550         internal enum PBS_ : int {
2551                 PBS_MARQUEE,
2552                 PBS_SMOOTH,
2553                 PBS_VERTICAL
2554         }
2555
2556         internal enum ProgressBarMessages : int {
2557                 WM_USER            = 0x0400,
2558                 PBM_SETRANGE       = WM_USER+1,
2559                 PBM_SETPOS         = WM_USER+2,
2560                 PBM_DELTAPOS       = WM_USER+3,
2561                 PBM_SETSTEP        = WM_USER+4,
2562                 PBM_STEPIT         = WM_USER+5,
2563                 PBM_SETRANGE32     = WM_USER+6,
2564                 PBM_GETRANGE       = WM_USER+7,
2565                 PBM_GETPOS         = WM_USER+8,
2566                 PBM_SETBARCOLOR    = WM_USER+9,
2567                 PBM_SETBKCOLOR     = CommonControlMessages.CCM_SETBKCOLOR
2568         }
2569
2570         internal enum TabControlMessages : int {
2571                 TCM_FIRST          =  0x1300,
2572                 TCM_GETITEM        =  (TCM_FIRST + 60),
2573                 TCM_SETITEM        =  (TCM_FIRST + 61),
2574                 TCM_INSERTITEM     =  (TCM_FIRST + 62),
2575                 TCM_DELETEITEM     =  (TCM_FIRST + 8),
2576                 TCM_DELETEALLITEMS =  (TCM_FIRST + 9),
2577                 TCM_GETITEMRECT    =  (TCM_FIRST + 10),
2578                 TCM_GETCURSEL      =  (TCM_FIRST + 11),
2579                 TCM_SETCURSEL      =  (TCM_FIRST + 12),
2580                 TCM_HITTEST        =  (TCM_FIRST + 13),
2581                 TCM_ADJUSTRECT     =  (TCM_FIRST + 40),
2582                 TCM_SETITEMSIZE    =  (TCM_FIRST + 41),
2583                 TCM_REMOVEIMAGE    =  (TCM_FIRST + 42),
2584                 TCM_SETPADDING     =  (TCM_FIRST + 43),
2585                 TCM_GETROWCOUNT    =  (TCM_FIRST + 44),
2586                 TCM_GETTOOLTIPS    =  (TCM_FIRST + 45),
2587                 TCM_SETTOOLTIPS    =  (TCM_FIRST + 46),
2588                 TCM_GETCURFOCUS    =  (TCM_FIRST + 47),
2589                 TCM_SETCURFOCUS    =  (TCM_FIRST + 48),
2590                 TCM_SETMINTABWIDTH =  (TCM_FIRST + 49),
2591                 TCM_DESELECTALL    =  (TCM_FIRST + 50),
2592                 TCM_HIGHLIGHTITEM  =  (TCM_FIRST + 51)
2593         }
2594
2595         internal enum TabControlStyles : int {
2596                 TCS_SCROLLOPPOSITE     = 0x0001,
2597                 TCS_BOTTOM             = 0x0002,
2598                 TCS_RIGHT              = 0x0002,
2599                 TCS_MULTISELECT        = 0x0004,
2600                 TCS_FLATBUTTONS        = 0x0008,
2601                 TCS_FORCEICONLEFT      = 0x0010,
2602                 TCS_FORCELABELLEFT     = 0x0020,
2603                 TCS_HOTTRACK           = 0x0040,
2604                 TCS_VERTICAL           = 0x0080,
2605                 TCS_TABS               = 0x0000,
2606                 TCS_BUTTONS            = 0x0100,
2607                 TCS_SINGLELINE         = 0x0000,
2608                 TCS_MULTILINE          = 0x0200,
2609                 TCS_RIGHTJUSTIFY       = 0x0000,
2610                 TCS_FIXEDWIDTH         = 0x0400,
2611                 TCS_RAGGEDRIGHT        = 0x0800,
2612                 TCS_FOCUSONBUTTONDOWN  = 0x1000,
2613                 TCS_OWNERDRAWFIXED     = 0x2000,
2614                 TCS_TOOLTIPS           = 0x4000,
2615                 TCS_FOCUSNEVER         = 0x8000
2616         }
2617
2618         internal enum TabControlNotifications : int {
2619                 TCN_FIRST              = 0 - 550,
2620                 TCN_SELCHANGE          = (TCN_FIRST - 1),
2621                 TCN_SELCHANGING        = (TCN_FIRST - 2)
2622         }
2623
2624         internal enum CreateWindowCoordinates : int {
2625                 CW_USEDEFAULT = -2147483648
2626         }
2627
2628         internal enum DrawFrameControl : uint {
2629                 DFC_CAPTION             =1,      
2630                 DFC_MENU                =2,      
2631                 DFC_SCROLL              =3,      
2632                 DFC_BUTTON              =4,
2633                 DFCS_BUTTONCHECK        =0x0000, 
2634                 DFCS_BUTTONRADIOIMAGE   =0x0001, 
2635                 DFCS_BUTTONRADIOMASK    =0x0002,        
2636                 DFCS_BUTTONRADIO        =0x0004, 
2637                 DFCS_BUTTON3STATE       =0x0008, 
2638                 DFCS_BUTTONPUSH         =0x0010, 
2639         }
2640 /*
2641                 DFCS_CAPTIONCLOSE       =0x0000, 
2642                 DFCS_CAPTIONMIN         =0x0001, 
2643                 DFCS_CAPTIONMAX         =0x0002, 
2644                 DFCS_CAPTIONRESTORE     =0x0003, 
2645                 DFCS_CAPTIONHELP        =0x0004,        
2646                 DFCS_MENUARROW          =0x0000, 
2647                 DFCS_MENUCHECK          =0x0001, 
2648                 DFCS_MENUBULLET         =0x0002, 
2649                 DFCS_MENUARROWRIGHT     =0x0004, 
2650                 DFCS_SCROLLUP            =0x0000,
2651                 DFCS_SCROLLDOWN          =0x0001,
2652                 DFCS_SCROLLLEFT          =0x0002,
2653                 DFCS_SCROLLRIGHT         =0x0003,
2654                 DFCS_SCROLLCOMBOBOX      =0x0005,
2655                 DFCS_SCROLLSIZEGRIP      =0x0008,
2656                 DFCS_SCROLLSIZEGRIPRIGHT =0x0010,
2657                 DFCS_INACTIVE           =0x0100, 
2658                 DFCS_PUSHED             =0x0200, 
2659                 DFCS_CHECKED            =0x0400, 
2660                 DFCS_TRANSPARENT        =0x0800, 
2661                 DFCS_HOT                =0x1000, 
2662                 DFCS_ADJUSTRECT         =0x2000,        
2663                 DFCS_FLAT               =0x4000, 
2664                 DFCS_MONO               =0x8000 
2665         }
2666 */      
2667         internal enum KeyStatusFlags : int {
2668                 MK_LBUTTON          = 0x0001,
2669                 MK_RBUTTON          = 0x0002,
2670                 MK_SHIFT            = 0x0004,
2671                 MK_CONTROL          = 0x0008,
2672                 MK_MBUTTON          = 0x0010,
2673                 MK_XBUTTON1     = 0x0020,
2674                 MK_XBUTTON2     = 0x0040
2675         }
2676
2677         internal enum ExtTextOutFlags : int {
2678                 ETO_GRAYED          =0x0001,
2679                 ETO_OPAQUE          =0x0002,
2680                 ETO_CLIPPED         =0x0004,
2681                 ETO_GLYPH_INDEX     =0x0010,
2682                 ETO_RTLREADING      =0x0080,
2683                 ETO_IGNORELANGUAGE  =0x1000
2684         }
2685         
2686         internal enum UpDownControlStyles : int {
2687                 UDS_WRAP           =0x0001,
2688                 UDS_SETBUDDYINT    =0x0002,
2689                 UDS_ALIGNRIGHT     =0x0004,
2690                 UDS_ALIGNLEFT      =0x0008,
2691                 UDS_AUTOBUDDY      =0x0010,
2692                 UDS_ARROWKEYS      =0x0020,
2693                 UDS_HORZ           =0x0040,
2694                 UDS_NOTHOUSANDS    =0x0080,
2695                 UDS_HOTTRACK       =0x0100
2696         }
2697         
2698         internal enum UpDownControlMessages : int {
2699                 WM_USER            =  0x0400,
2700                 UDN_FIRST          =(0-721),
2701                 UDN_LAST           =(0-740),
2702                 UDN_DELTAPOS       =(UDN_FIRST-1),
2703                 UDM_SETRANGE       =(WM_USER+101),
2704                 UDM_GETRANGE       =(WM_USER+102),
2705                 UDM_SETPOS         =(WM_USER+103),
2706                 UDM_GETPOS         =(WM_USER+104),
2707                 UDM_SETBUDDY       =(WM_USER+105),
2708                 UDM_GETBUDDY       =(WM_USER+106),
2709                 UDM_SETACCEL       =(WM_USER+107),
2710                 UDM_GETACCEL       =(WM_USER+108),
2711                 UDM_SETBASE        =(WM_USER+109),
2712                 UDM_GETBASE        =(WM_USER+110),
2713                 UDM_SETRANGE32     =(WM_USER+111),
2714                 UDM_GETRANGE32     =(WM_USER+112),
2715                 //UDM_SETUNICODEFORMAT    =CCM_SETUNICODEFORMAT,
2716                 //UDM_GETUNICODEFORMAT    =CCM_GETUNICODEFORMAT,
2717                 UDM_SETPOS32       =(WM_USER+113),
2718                 UDM_GETPOS32       =(WM_USER+114)
2719         }
2720
2721         internal enum GetWindowConstants : int {
2722                 GW_HWNDFIRST       = 0,
2723                 GW_HWNDLAST        = 1,
2724                 GW_HWNDNEXT        = 2,
2725                 GW_HWNDPREV        = 3,
2726                 GW_OWNER           = 4,
2727                 GW_CHILD           = 5
2728         }
2729
2730         internal enum TabControlItemFlags : int {
2731                 TCIF_TEXT          = 0x0001,
2732                 TCIF_IMAGE         = 0x0002,
2733                 TCIF_RTLREADING    = 0x0004,
2734                 TCIF_PARAM         = 0x0008,
2735                 TCIF_STATE         = 0x0010
2736         }
2737 }