updated listbox control from wine 0.9.2
[reactos.git] / reactos / w32api / include / winuser.h
index 8b620ca..ea3b251 100644 (file)
@@ -153,6 +153,7 @@ extern "C" {
 #define CDS_FULLSCREEN 4
 #define CDS_GLOBAL     8
 #define CDS_SET_PRIMARY        16
+#define CDS_VIDEOPARAMETERS 20
 #define CDS_RESET      0x40000000
 #define CDS_SETRECT    0x20000000
 #define CDS_NORESET    0x10000000
@@ -289,6 +290,7 @@ extern "C" {
 #define LBS_STANDARD 0xa00003
 #define LBS_USETABSTOPS 128
 #define LBS_WANTKEYBOARDINPUT 0x400
+#define LBS_COMBOBOX 0x8000
 #define SBS_BOTTOMALIGN 4
 #define SBS_HORZ 0
 #define SBS_LEFTALIGN 2
@@ -379,6 +381,7 @@ extern "C" {
 #define WINSTA_READATTRIBUTES  2
 #define WINSTA_READSCREEN      512
 #define WINSTA_WRITEATTRIBUTES 16
+#define WINSTA_ALL_ACCESS       895
 #define DDL_READWRITE  0
 #define DDL_READONLY   1
 #define DDL_HIDDEN     2
@@ -605,6 +608,13 @@ extern "C" {
 #define GCL_MENUNAME (-8)
 #define GCL_STYLE (-26)
 #define GCL_WNDPROC (-24)
+#define GCLP_HBRBACKGROUND (-10)
+#define GCLP_HCURSOR (-12)
+#define GCLP_HICON (-14)
+#define GCLP_HICONSM (-34)
+#define GCLP_HMODULE (-16)
+#define GCLP_MENUNAME (-8)
+#define GCLP_WNDPROC (-24)
 #if 0
     /* This is supposed to be defined by the program using it not defined
        in the w32api headers.  I've left it here for documentation purposes.
@@ -681,6 +691,12 @@ extern "C" {
 #define MFS_HILITE 128
 #define MFS_UNCHECKED 0
 #define MFS_UNHILITE 0
+#define MNS_NOCHECK 0x80000000
+#define MNS_MODELESS 0x40000000
+#define MNS_DRAGDROP 0x20000000
+#define MNS_AUTODISMISS 0x10000000
+#define MNS_NOTIFYBYPOS 0x08000000
+#define MNS_CHECKORBMP 0x04000000
 #define GW_HWNDNEXT 2
 #define GW_HWNDPREV 3
 #define GW_CHILD 5
@@ -1151,11 +1167,13 @@ extern "C" {
 #define SPI_GETSCREENSAVEACTIVE 16
 #define SPI_GETSCREENSAVETIMEOUT 14
 #define SPI_GETSERIALKEYS 62
+#define SPI_GETSHOWIMEUI 110
 #define SPI_GETSHOWSOUNDS 56
+#define SPI_GETSNAPTODEFBUTTON 95
 #define SPI_GETSOUNDSENTRY 64
 #define SPI_GETSTICKYKEYS 58
 #define SPI_GETTOGGLEKEYS 52
-#define SPI_GETWHEELSCROLLLINES 104 
+#define SPI_GETWHEELSCROLLLINES 104
 #define SPI_GETWINDOWSEXTENSION 92
 #define SPI_GETWORKAREA 48
 #define SPI_ICONHORIZONTALSPACING 13
@@ -1212,7 +1230,9 @@ extern "C" {
 #define SPI_SETSCREENSAVERRUNNING 97
 #define SPI_SETSCREENSAVETIMEOUT 15
 #define SPI_SETSERIALKEYS 63
+#define SPI_SETSHOWIMEUI 111
 #define SPI_SETSHOWSOUNDS 57
+#define SPI_SETSNAPTODEFBUTTON 96
 #define SPI_SETSOUNDSENTRY 65
 #define SPI_SETSTICKYKEYS 59
 #define SPI_SETTOGGLEKEYS 53
@@ -1224,8 +1244,12 @@ extern "C" {
 #define SPI_GETSCREENSAVERRUNNING 114
 #define SPI_GETACTIVEWINDOWTRACKING 0x1000
 #define SPI_GETACTIVEWNDTRKZORDER 0x100C
+#define SPI_GETCARETWIDTH 0x2006
 #define SPI_GETCOMBOBOXANIMATION 0x1004
 #define SPI_GETCURSORSHADOW 0x101A
+#define SPI_GETDROPSHADOW 0x1024
+#define SPI_GETFOREGROUNDFLASHCOUNT 0x2004
+#define SPI_GETFOREGROUNDLOCKTIMEOUT 0x2000
 #define SPI_GETGRADIENTCAPTIONS 0x1008
 #define SPI_GETHOTTRACKING 0x100E
 #define SPI_GETKEYBOARDCUES 0x100A
@@ -1236,8 +1260,12 @@ extern "C" {
 #define SPI_GETSELECTIONFADE 0x1014
 #define SPI_GETTOOLTIPANIMATION 0x1016
 #define SPI_GETTOOLTIPFADE 0x1018
+#define SPI_SETCARETWIDTH 0x2007
 #define SPI_SETCOMBOBOXANIMATION 0x1005
 #define SPI_SETCURSORSHADOW 0x101B
+#define SPI_SETDROPSHADOW 0x1025
+#define SPI_SETFOREGROUNDFLASHCOUNT 0x2005
+#define SPI_SETFOREGROUNDLOCKTIMEOUT 0x2001
 #define SPI_SETGRADIENTCAPTIONS 0x1009
 #define SPI_SETHOTTRACKING 0x100F
 #define SPI_SETKEYBOARDCUES 0x100B
@@ -1255,8 +1283,18 @@ extern "C" {
 #define FE_FONTSMOOTHINGSTANDARD 1
 #define FE_FONTSMOOTHINGCLEARTYPE 2
 #define FE_FONTSMOOTHINGDOCKING 32768
+#define SPI_GETBLOCKSENDINPUTRESETS 0x1026
+#define SPI_SETBLOCKSENDINPUTRESETS 0x1027
+#define SPI_GETUIEFFECTS 0x103E
+#define SPI_SETUIEFFECTS 0x103F
 #define SPI_GETMOUSECLICKLOCKTIME 8200
 #define SPI_SETMOUSECLICKLOCKTIME 8201
+#define SPI_GETMOUSESONAR 0x101C
+#define SPI_SETMOUSESONAR 0x101D
+#define SPI_GETMOUSEVANISH 0x1020
+#define SPI_SETMOUSEVANISH 0x1021
+#define SPI_GETFLATMENU 0x1022
+#define SPI_SETFLATMENU 0x1023
 #define SPI_GETFONTSMOOTHINGTYPE 8202
 #define SPI_SETFONTSMOOTHINGTYPE 8203
 #define SPI_GETFONTSMOOTHINGCONTRAST 8204
@@ -1286,7 +1324,24 @@ extern "C" {
 #define WM_CANCELMODE 31
 #define WM_CAPTURECHANGED 533
 #define WM_CHANGECBCHAIN 781
+
+#if (WINVER >= 0x0500)
 #define WM_CHANGEUISTATE 295
+#define WM_UPDATEUISTATE 296
+#define WM_QUERYUISTATE 297
+
+#define UIS_SET 1
+#define UIS_CLEAR 2
+#define UIS_INITIALIZE 3
+
+#define UISF_HIDEFOCUS 0x1
+#define UISF_HIDEACCEL 0x2
+#if (WINVER >= 0x0501)
+#define UISF_ACTIVE 0x4
+#endif
+
+#endif
+
 #define WM_CHAR 258
 #define WM_CHARTOITEM 47
 #define WM_CHILDACTIVATE 34
@@ -1388,6 +1443,8 @@ extern "C" {
 #define WM_NCXBUTTONDBLCLK 173
 #endif
 #define WM_NCMOUSEMOVE 160
+#define WM_NCMOUSEHOVER     0x02A0
+#define WM_NCMOUSELEAVE     0x02A2
 #define WM_NCPAINT 133
 #define WM_NCRBUTTONDBLCLK 166
 #define WM_NCRBUTTONDOWN 164
@@ -1442,6 +1499,7 @@ extern "C" {
 #define WM_TCARD 82
 #define WM_TIMECHANGE 30
 #define WM_TIMER 275
+#define WM_SYSTIMER 280
 #define WM_UNDO 772
 #define WM_USER 1024
 #define WM_USERCHANGED 84
@@ -1480,6 +1538,10 @@ extern "C" {
 #define GET_WHEEL_DELTA_WPARAM(wparam) ((short)HIWORD (wparam))
 #define WHEEL_PAGESCROLL UINT_MAX
 #endif
+#if (_WIN32_WINNT >= 0x0501)
+#define WM_THEMECHANGED 794
+#endif
+
 #define BM_CLICK 245
 #define BM_GETCHECK 240
 #define BM_GETIMAGE 246
@@ -1504,6 +1566,7 @@ extern "C" {
 #define CB_DIR 325
 #define CB_FINDSTRING 332
 #define CB_FINDSTRINGEXACT 344
+#define CB_GETCOMBOBOXINFO 356
 #define CB_GETCOUNT 326
 #define CB_GETCURSEL 327
 #define CB_GETDROPPEDCONTROLRECT 338
@@ -1873,6 +1936,19 @@ extern "C" {
 #if (_WIN32_WINNT >= 0x0500)
 #define VK_PACKET      0xE7
 #endif
+#define VK_OEM_RESET   0xE9
+#define VK_OEM_JUMP    0xEA
+#define VK_OEM_PA1     0xEB
+#define VK_OEM_PA2     0xEC
+#define VK_OEM_PA3     0xED
+#define VK_OEM_WSCTRL  0xEE
+#define VK_OEM_CUSEL   0xEF
+#define VK_OEM_ATTN    0xF0
+#define VK_OEM_FINISH  0xF1
+#define VK_OEM_COPY    0xF2
+#define VK_OEM_AUTO    0xF3
+#define VK_OEM_ENLW    0xF4
+#define VK_OEM_BACKTAB 0xF5
 #define VK_ATTN        0xF6
 #define VK_CRSEL       0xF7
 #define VK_EXSEL       0xF8
@@ -1884,6 +1960,7 @@ extern "C" {
 #define VK_OEM_CLEAR   0xFE
 #define TME_HOVER      1
 #define TME_LEAVE      2
+#define TME_NONCLIENT   0x00000010
 #define TME_QUERY      0x40000000
 #define TME_CANCEL     0x80000000
 #define HOVER_DEFAULT  0xFFFFFFFF
@@ -2140,7 +2217,11 @@ extern "C" {
 #define MOD_ON_KEYUP  2048
 #define MOD_RIGHT 16384
 #define MOD_LEFT 32768
+#define LLKHF_EXTENDED 0x00000001
+#define LLKHF_INJECTED 0x00000010
 #define LLKHF_ALTDOWN  0x00000020
+#define LLKHF_UP  0x00000080
+#define LLMHF_INJECTED  0x00000001
 #if (WINVER >= 0x0500)
 #define FLASHW_STOP 0
 #define FLASHW_CAPTION 1
@@ -2269,10 +2350,10 @@ extern "C" {
 #define GA_ROOT 2
 #define GA_ROOTOWNER 3
 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
-#define MONITOR_DEFAULTTONULL 0 
-#define MONITOR_DEFAULTTOPRIMARY 1 
-#define MONITOR_DEFAULTTONEAREST 2 
-#define MONITORINFOF_PRIMARY 1 
+#define MONITOR_DEFAULTTONULL 0
+#define MONITOR_DEFAULTTOPRIMARY 1
+#define MONITOR_DEFAULTTONEAREST 2
+#define MONITORINFOF_PRIMARY 1
 #define EDS_RAWMODE 0x00000002
 #define ISMEX_NOSEND 0x00000000
 #define ISMEX_CALLBACK 0x00000004
@@ -2337,6 +2418,36 @@ extern "C" {
 #define RIDEV_NOHOTKEYS    0x00000200
 #define RIDEV_APPKEYS      0x00000400
 #endif
+#define STATE_SYSTEM_UNAVAILABLE 0x00000001
+#define STATE_SYSTEM_SELECTED 0x00000002
+#define STATE_SYSTEM_FOCUSED 0x00000004
+#define STATE_SYSTEM_PRESSED 0x00000008
+#define STATE_SYSTEM_CHECKED 0x00000010
+#define STATE_SYSTEM_MIXED 0x00000020
+#define STATE_SYSTEM_READONLY 0x00000040
+#define STATE_SYSTEM_HOTTRACKED 0x00000080
+#define STATE_SYSTEM_DEFAULT 0x00000100
+#define STATE_SYSTEM_EXPANDED 0x00000200
+#define STATE_SYSTEM_COLLAPSED 0x00000400
+#define STATE_SYSTEM_BUSY 0x00000800
+#define STATE_SYSTEM_FLOATING 0x00001000
+#define STATE_SYSTEM_MARQUEED 0x00002000
+#define STATE_SYSTEM_ANIMATED 0x00004000
+#define STATE_SYSTEM_INVISIBLE 0x00008000
+#define STATE_SYSTEM_OFFSCREEN 0x00010000
+#define STATE_SYSTEM_SIZEABLE 0x00020000
+#define STATE_SYSTEM_MOVEABLE 0x00040000
+#define STATE_SYSTEM_SELFVOICING 0x00080000
+#define STATE_SYSTEM_FOCUSABLE 0x00100000
+#define STATE_SYSTEM_SELECTABLE 0x00200000
+#define STATE_SYSTEM_LINKED 0x00400000
+#define STATE_SYSTEM_TRAVERSED 0x00800000
+#define STATE_SYSTEM_MULTISELECTABLE 0x01000000
+#define STATE_SYSTEM_EXTSELECTABLE 0x02000000
+#define STATE_SYSTEM_ALERT_LOW 0x04000000
+#define STATE_SYSTEM_ALERT_MEDIUM 0x08000000
+#define STATE_SYSTEM_ALERT_HIGH 0x10000000
+#define STATE_SYSTEM_VALID 0x1fffffff
 
 #ifndef RC_INVOKED
 typedef BOOL(CALLBACK *DLGPROC)(HWND,UINT,WPARAM,LPARAM);
@@ -2352,7 +2463,6 @@ typedef int(CALLBACK *EDITWORDBREAKPROCW)(LPWSTR,int,int,int);
 typedef LRESULT(CALLBACK *WNDPROC)(HWND,UINT,WPARAM,LPARAM);
 typedef BOOL(CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int);
 typedef BOOL(CALLBACK *WNDENUMPROC)(HWND,LPARAM);
-typedef BOOL(CALLBACK *ENUMWINDOWSPROC)(HWND,LPARAM);
 typedef BOOL(CALLBACK* MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
 typedef BOOL(CALLBACK *NAMEENUMPROCA)(LPSTR,LPARAM);
 typedef BOOL(CALLBACK *NAMEENUMPROCW)(LPWSTR,LPARAM);
@@ -2947,7 +3057,7 @@ typedef struct tagHELPWININFOW {
        int wMax;
        WCHAR rgchMember[2];
 } HELPWININFOW,*PHELPWININFOW,*LPHELPWININFOW;
-typedef struct tagSTYLESTRUCT { 
+typedef struct tagSTYLESTRUCT {
        DWORD styleOld;
        DWORD styleNew;
 } STYLESTRUCT,*LPSTYLESTRUCT;
@@ -3055,6 +3165,14 @@ typedef struct tagKBDLLHOOKSTRUCT {
        DWORD time;
        DWORD dwExtraInfo;
 } KBDLLHOOKSTRUCT,*LPKBDLLHOOKSTRUCT,*PKBDLLHOOKSTRUCT;
+typedef struct tagMSLLHOOKSTRUCT
+{
+       POINT pt;
+       DWORD mouseData;
+       DWORD flags;
+       DWORD time;
+       ULONG_PTR dwExtraInfo;
+} MSLLHOOKSTRUCT, *LPMSLLHOOKSTRUCT, *PMSLLHOOKSTRUCT;
 #if (_WIN32_WINNT >= 0x0500 || _WIN32_WINDOWS >= 0x0410)
 typedef struct {
   UINT  cbSize;
@@ -3370,11 +3488,11 @@ BOOL WINAPI EndPaint(HWND,const PAINTSTRUCT*);
 #if (_WIN32_WINNT >= 0x0500)
 BOOL WINAPI EndTask(HWND,BOOL,BOOL);
 #endif
-BOOL WINAPI EnumChildWindows(HWND,ENUMWINDOWSPROC,LPARAM);
+BOOL WINAPI EnumChildWindows(HWND,WNDENUMPROC,LPARAM);
 UINT WINAPI EnumClipboardFormats(UINT);
 BOOL WINAPI EnumDesktopsA(HWINSTA,DESKTOPENUMPROCA,LPARAM);
 BOOL WINAPI EnumDesktopsW(HWINSTA,DESKTOPENUMPROCW,LPARAM);
-BOOL WINAPI EnumDesktopWindows(HDESK,ENUMWINDOWSPROC,LPARAM);
+BOOL WINAPI EnumDesktopWindows(HDESK,WNDENUMPROC,LPARAM);
 BOOL WINAPI EnumDisplayMonitors(HDC,LPCRECT,MONITORENUMPROC,LPARAM);
 #ifndef NOGDI
 BOOL WINAPI EnumDisplaySettingsA(LPCSTR,DWORD,PDEVMODEA);
@@ -3420,6 +3538,13 @@ BOOL WINAPI GetClassInfoW(HINSTANCE,LPCWSTR,LPWNDCLASSW);
 BOOL WINAPI GetClassInfoExW(HINSTANCE,LPCWSTR,LPWNDCLASSEXW);
 DWORD WINAPI GetClassLongA(HWND,int);
 DWORD WINAPI GetClassLongW(HWND,int);
+#ifdef _WIN64
+LONG_PTR WINAPI GetClassLongPtrA(HWND,int);
+LONG_PTR WINAPI GetClassLongPtrW(HWND,int);
+#else
+#define GetClassLongPtrA GetClassLongA
+#define GetClassLongPtrW GetClassLongW
+#endif
 int WINAPI GetClassNameA(HWND,LPSTR,int);
 int WINAPI GetClassNameW(HWND,LPWSTR,int);
 WORD WINAPI GetClassWord(HWND,int);
@@ -3708,6 +3833,7 @@ BOOL WINAPI RegisterLogonProcess(DWORD,BOOL);
 #if (_WIN32_WINNT >= 0x0501)
 BOOL WINAPI RegisterRawInputDevices(PCRAWINPUTDEVICE,UINT,UINT);
 #endif
+BOOL WINAPI RegisterShellHookWindow(HWND);
 UINT WINAPI RegisterWindowMessageA(LPCSTR);
 UINT WINAPI RegisterWindowMessageW(LPCWSTR);
 BOOL WINAPI ReleaseCapture(void);
@@ -3739,6 +3865,13 @@ BOOL WINAPI SetCaretBlinkTime(UINT);
 BOOL WINAPI SetCaretPos(int,int);
 DWORD WINAPI SetClassLongA(HWND,int,LONG);
 DWORD WINAPI SetClassLongW(HWND,int,LONG);
+#ifdef _WIN64
+ULONG_PTR WINAPI SetClassLongPtrA(HWND,INT,LONG_PTR);
+ULONG_PTR WINAPI SetClassLongPtrW(HWND,INT,LONG_PTR);
+#else
+#define SetClassLongPtrA SetClassLongA
+#define SetClassLongPtrW SetClassLongW
+#endif
 WORD WINAPI SetClassWord(HWND,int,WORD);
 HANDLE WINAPI SetClipboardData(UINT,HANDLE);
 HWND WINAPI SetClipboardViewer(HWND);
@@ -4012,6 +4145,7 @@ typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
 #define SendMessageTimeout SendMessageTimeoutW
 #define SendNotifyMessage SendNotifyMessageW
 #define SetClassLong SetClassLongW
+#define SetClassLongPtr SetClassLongPtrW
 #define SetDlgItemText SetDlgItemTextW
 #define SetMenuItemInfo SetMenuItemInfoW
 #define SetProp SetPropW
@@ -4177,6 +4311,7 @@ typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
 #define SendMessageTimeout SendMessageTimeoutA
 #define SendNotifyMessage SendNotifyMessageA
 #define SetClassLong SetClassLongA
+#define SetClassLongPtr SetClassLongPtrA
 #define SetDlgItemText SetDlgItemTextA
 #define SetMenuItemInfo SetMenuItemInfoA
 #define SetProp SetPropA