/*
 * Copyright (C) the Wine project
 *
 * This library is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public
 * License as published by the Free Software Foundation; either
 * version 2.1 of the License, or (at your option) any later version.
 *
 * This library is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 * Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public
 * License along with this library; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
 */

/* Macro to deal with LP64 <=> LLP64 differences in numeric constants with 'l' modifier */
#ifndef __MSABI_LONG
# if defined(_MSC_VER) || defined(__MINGW32__) || defined(__CYGWIN__)
#  define __MSABI_LONG(x)         x ## l
# else
#  define __MSABI_LONG(x)         x
# endif
#endif

#ifdef RC_INVOKED
# define MAKEINTRESOURCE(i)       i
#endif


#define RT_MANIFEST                                        MAKEINTRESOURCE(24)
#define CREATEPROCESS_MANIFEST_RESOURCE_ID                 MAKEINTRESOURCE(1)
#define ISOLATIONAWARE_MANIFEST_RESOURCE_ID                MAKEINTRESOURCE(2)
#define ISOLATIONAWARE_NOSTATICIMPORT_MANIFEST_RESOURCE_ID MAKEINTRESOURCE(3)
#define MINIMUM_RESERVED_MANIFEST_RESOURCE_ID              MAKEINTRESOURCE(1)
#define MAXIMUM_RESERVED_MANIFEST_RESOURCE_ID              MAKEINTRESOURCE(16)


/*** ShowWindow() codes ***/
#define SW_HIDE                0
#define SW_SHOWNORMAL          1
#define SW_NORMAL              SW_SHOWNORMAL
#define SW_SHOWMINIMIZED       2
#define SW_SHOWMAXIMIZED       3
#define SW_MAXIMIZE            SW_SHOWMAXIMIZED
#define SW_SHOWNOACTIVATE      4
#define SW_SHOW                5
#define SW_MINIMIZE            6
#define SW_SHOWMINNOACTIVE     7
#define SW_SHOWNA              8
#define SW_RESTORE             9
#define SW_SHOWDEFAULT         10
#define SW_FORCEMINIMIZE       11
#define SW_MAX                 11
#define SW_NORMALNA            0xCC /* Undocumented. Flag in MinMaximize */

/* Obsolete ShowWindow() codes for compatibility */
#define HIDE_WINDOW            SW_HIDE
#define SHOW_OPENWINDOW        SW_SHOWNORMAL
#define SHOW_ICONWINDOW        SW_SHOWMINIMIZED
#define SHOW_FULLSCREEN        SW_SHOWMAXIMIZED
#define SHOW_OPENNOACTIVATE    SW_SHOWNOACTIVATE

/* WM_SHOWWINDOW lParam codes */
#define SW_PARENTCLOSING       1
#define SW_OTHERZOOM           2
#define SW_PARENTOPENING       3
#define SW_OTHERUNZOOM         4


/*** Virtual key codes ***/
#define VK_LBUTTON             0x01
#define VK_RBUTTON             0x02
#define VK_CANCEL              0x03
#define VK_MBUTTON             0x04
#define VK_XBUTTON1            0x05
#define VK_XBUTTON2            0x06
/*                             0x07  Undefined */
#define VK_BACK                0x08
#define VK_TAB                 0x09
/*                             0x0A-0x0B  Undefined */
#define VK_CLEAR               0x0C
#define VK_RETURN              0x0D
/*                             0x0E-0x0F  Undefined */
#define VK_SHIFT               0x10
#define VK_CONTROL             0x11
#define VK_MENU                0x12
#define VK_PAUSE               0x13
#define VK_CAPITAL             0x14

#define VK_KANA                0x15
#define VK_HANGEUL             VK_KANA
#define VK_HANGUL              VK_KANA
#define VK_JUNJA               0x17
#define VK_FINAL               0x18
#define VK_HANJA               0x19
#define VK_KANJI               VK_HANJA

/*                             0x1A       Undefined */
#define VK_ESCAPE              0x1B

#define VK_CONVERT             0x1C
#define VK_NONCONVERT          0x1D
#define VK_ACCEPT              0x1E
#define VK_MODECHANGE          0x1F

#define VK_SPACE               0x20
#define VK_PRIOR               0x21
#define VK_NEXT                0x22
#define VK_END                 0x23
#define VK_HOME                0x24
#define VK_LEFT                0x25
#define VK_UP                  0x26
#define VK_RIGHT               0x27
#define VK_DOWN                0x28
#define VK_SELECT              0x29
#define VK_PRINT               0x2A /* OEM specific in Windows 3.1 SDK */
#define VK_EXECUTE             0x2B
#define VK_SNAPSHOT            0x2C
#define VK_INSERT              0x2D
#define VK_DELETE              0x2E
#define VK_HELP                0x2F
/* VK_0 - VK-9                 0x30-0x39  Use ASCII instead */
/*                             0x3A-0x40  Undefined */
/* VK_A - VK_Z                 0x41-0x5A  Use ASCII instead */
#define VK_LWIN                0x5B
#define VK_RWIN                0x5C
#define VK_APPS                0x5D
/*                             0x5E Unassigned */
#define VK_SLEEP               0x5F
#define VK_NUMPAD0             0x60
#define VK_NUMPAD1             0x61
#define VK_NUMPAD2             0x62
#define VK_NUMPAD3             0x63
#define VK_NUMPAD4             0x64
#define VK_NUMPAD5             0x65
#define VK_NUMPAD6             0x66
#define VK_NUMPAD7             0x67
#define VK_NUMPAD8             0x68
#define VK_NUMPAD9             0x69
#define VK_MULTIPLY            0x6A
#define VK_ADD                 0x6B
#define VK_SEPARATOR           0x6C
#define VK_SUBTRACT            0x6D
#define VK_DECIMAL             0x6E
#define VK_DIVIDE              0x6F
#define VK_F1                  0x70
#define VK_F2                  0x71
#define VK_F3                  0x72
#define VK_F4                  0x73
#define VK_F5                  0x74
#define VK_F6                  0x75
#define VK_F7                  0x76
#define VK_F8                  0x77
#define VK_F9                  0x78
#define VK_F10                 0x79
#define VK_F11                 0x7A
#define VK_F12                 0x7B
#define VK_F13                 0x7C
#define VK_F14                 0x7D
#define VK_F15                 0x7E
#define VK_F16                 0x7F
#define VK_F17                 0x80
#define VK_F18                 0x81
#define VK_F19                 0x82
#define VK_F20                 0x83
#define VK_F21                 0x84
#define VK_F22                 0x85
#define VK_F23                 0x86
#define VK_F24                 0x87
/*                             0x88-0x8F  Unassigned */
#define VK_NUMLOCK             0x90
#define VK_SCROLL              0x91
#define VK_OEM_NEC_EQUAL       0x92
#define VK_OEM_FJ_JISHO        0x92
#define VK_OEM_FJ_MASSHOU      0x93
#define VK_OEM_FJ_TOUROKU      0x94
#define VK_OEM_FJ_LOYA         0x95
#define VK_OEM_FJ_ROYA         0x96
/*                             0x97-0x9F  Unassigned */
/*
 * differencing between right and left shift/control/alt key.
 * Used only by GetAsyncKeyState() and GetKeyState().
 */
#define VK_LSHIFT              0xA0
#define VK_RSHIFT              0xA1
#define VK_LCONTROL            0xA2
#define VK_RCONTROL            0xA3
#define VK_LMENU               0xA4
#define VK_RMENU               0xA5

#define VK_BROWSER_BACK        0xA6
#define VK_BROWSER_FORWARD     0xA7
#define VK_BROWSER_REFRESH     0xA8
#define VK_BROWSER_STOP        0xA9
#define VK_BROWSER_SEARCH      0xAA
#define VK_BROWSER_FAVORITES   0xAB
#define VK_BROWSER_HOME        0xAC
#define VK_VOLUME_MUTE         0xAD
#define VK_VOLUME_DOWN         0xAE
#define VK_VOLUME_UP           0xAF
#define VK_MEDIA_NEXT_TRACK    0xB0
#define VK_MEDIA_PREV_TRACK    0xB1
#define VK_MEDIA_STOP          0xB2
#define VK_MEDIA_PLAY_PAUSE    0xB3
#define VK_LAUNCH_MAIL         0xB4
#define VK_LAUNCH_MEDIA_SELECT 0xB5
#define VK_LAUNCH_APP1         0xB6
#define VK_LAUNCH_APP2         0xB7

/*                             0xB8-0xB9  Unassigned */
#define VK_OEM_1               0xBA
#define VK_OEM_PLUS            0xBB
#define VK_OEM_COMMA           0xBC
#define VK_OEM_MINUS           0xBD
#define VK_OEM_PERIOD          0xBE
#define VK_OEM_2               0xBF
#define VK_OEM_3               0xC0
/*                             0xC1-0xDA  Unassigned */
#define VK_OEM_4               0xDB
#define VK_OEM_5               0xDC
#define VK_OEM_6               0xDD
#define VK_OEM_7               0xDE
#define VK_OEM_8               0xDF
/*                             0xE0       OEM specific */
#define VK_OEM_AX              0xE1  /* "AX" key on Japanese AX keyboard */
#define VK_OEM_102             0xE2  /* "<>" or "\|" on RT 102-key keyboard */
#define VK_ICO_HELP            0xE3  /* Help key on ICO */
#define VK_ICO_00              0xE4  /* 00 key on ICO */
#define VK_PROCESSKEY          0xE5
#define VK_ICO_CLEAR           0xE6

#define VK_PACKET              0xE7
/*                             0xE8       Unassigned */

#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
#define VK_EREOF               0xF9
#define VK_PLAY                0xFA
#define VK_ZOOM                0xFB
#define VK_NONAME              0xFC
#define VK_PA1                 0xFD
#define VK_OEM_CLEAR           0xFE
/*                             0xFF       Unassigned */


/*** Messages ***/
#ifndef NOWINMESSAGES
#define WM_NULL                0x0000
#define WM_CREATE              0x0001
#define WM_DESTROY             0x0002
#define WM_MOVE                0x0003
#define WM_SIZEWAIT            0x0004 /* DDK / Win16 */
#define WM_SIZE                0x0005
#define WM_ACTIVATE            0x0006

/* WM_ACTIVATE wParam values */
#define WA_INACTIVE            0
#define WA_ACTIVE              1
#define WA_CLICKACTIVE         2

#define WM_SETFOCUS            0x0007
#define WM_KILLFOCUS           0x0008
#define WM_SETVISIBLE          0x0009 /* DDK / Win16 */
#define WM_ENABLE              0x000a
#define WM_SETREDRAW           0x000b
#define WM_SETTEXT             0x000c
#define WM_GETTEXT             0x000d
#define WM_GETTEXTLENGTH       0x000e
#define WM_PAINT               0x000f
#define WM_CLOSE               0x0010
#define WM_QUERYENDSESSION     0x0011
#define WM_QUIT                0x0012
#define WM_QUERYOPEN           0x0013
#define WM_ERASEBKGND          0x0014
#define WM_SYSCOLORCHANGE      0x0015
#define WM_ENDSESSION          0x0016
#define WM_SYSTEMERROR         0x0017 /* DDK / Win16 */
#define WM_SHOWWINDOW          0x0018
#define WM_CTLCOLOR            0x0019 /* Added from windowsx.h */
#define WM_WININICHANGE        0x001a
#define WM_SETTINGCHANGE       WM_WININICHANGE
#define WM_DEVMODECHANGE       0x001b
#define WM_ACTIVATEAPP         0x001c
#define WM_FONTCHANGE          0x001d
#define WM_TIMECHANGE          0x001e
#define WM_CANCELMODE          0x001f
#define WM_SETCURSOR           0x0020
#define WM_MOUSEACTIVATE       0x0021
#define WM_CHILDACTIVATE       0x0022
#define WM_QUEUESYNC           0x0023
#define WM_GETMINMAXINFO       0x0024

#define WM_PAINTICON           0x0026
#define WM_ICONERASEBKGND      0x0027
#define WM_NEXTDLGCTL          0x0028
#define WM_ALTTABACTIVE        0x0029 /* DDK / Win16 */
#define WM_SPOOLERSTATUS       0x002a
#define WM_DRAWITEM            0x002b
#define WM_MEASUREITEM         0x002c
#define WM_DELETEITEM          0x002d
#define WM_VKEYTOITEM          0x002e
#define WM_CHARTOITEM          0x002f
#define WM_SETFONT             0x0030
#define WM_GETFONT             0x0031
#define WM_SETHOTKEY           0x0032
#define WM_GETHOTKEY           0x0033
#define WM_FILESYSCHANGE       0x0034 /* DDK / Win16 */
#define WM_ISACTIVEICON        0x0035 /* DDK / Win16 */
#define WM_QUERYPARKICON       0x0036 /* Undocumented */
#define WM_QUERYDRAGICON       0x0037
#define WM_QUERYSAVESTATE      0x0038 /* Undocumented */
#define WM_COMPAREITEM         0x0039
#define WM_TESTING             0x003a /* DDK / Win16 */

#define WM_GETOBJECT           0x003d

#define WM_ACTIVATESHELLWINDOW 0x003e /* FIXME: Wine-only */

#define WM_COMPACTING          0x0041

#define WM_COMMNOTIFY          0x0044
#define WM_WINDOWPOSCHANGING   0x0046
#define WM_WINDOWPOSCHANGED    0x0047

#define WM_POWER               0x0048

/* For WM_POWER */
#define PWR_OK                 1
#define PWR_FAIL               (-1)
#define PWR_SUSPENDREQUEST     1
#define PWR_SUSPENDRESUME      2
#define PWR_CRITICALRESUME     3

/* Win32 4.0 messages */
#define WM_COPYDATA            0x004a
#define WM_CANCELJOURNAL       0x004b
#define WM_KEYF1               0x004d /* DDK / Win16 */
#define WM_NOTIFY              0x004e
#define WM_INPUTLANGCHANGEREQUEST 0x0050
#define WM_INPUTLANGCHANGE     0x0051
#define WM_TCARD               0x0052
#define WM_HELP                0x0053
#define WM_USERCHANGED         0x0054
#define WM_NOTIFYFORMAT        0x0055

/* WM_NOTIFYFORMAT commands and return values */
#define NFR_ANSI               1
#define NFR_UNICODE            2
#define NF_QUERY               3
#define NF_REQUERY             4

#define WM_CONTEXTMENU         0x007b
#define WM_STYLECHANGING       0x007c
#define WM_STYLECHANGED        0x007d
#define WM_DISPLAYCHANGE       0x007e
#define WM_GETICON             0x007f
#define WM_SETICON             0x0080

/* Non-client system messages */
#define WM_NCCREATE            0x0081
#define WM_NCDESTROY           0x0082
#define WM_NCCALCSIZE          0x0083
#define WM_NCHITTEST           0x0084
#define WM_NCPAINT             0x0085
#define WM_NCACTIVATE          0x0086

#define WM_GETDLGCODE          0x0087
#define WM_SYNCPAINT           0x0088
#define WM_SYNCTASK            0x0089 /* DDK / Win16 */

/* Non-client mouse messages */
#define WM_NCMOUSEMOVE         0x00a0
#define WM_NCLBUTTONDOWN       0x00a1
#define WM_NCLBUTTONUP         0x00a2
#define WM_NCLBUTTONDBLCLK     0x00a3
#define WM_NCRBUTTONDOWN       0x00a4
#define WM_NCRBUTTONUP         0x00a5
#define WM_NCRBUTTONDBLCLK     0x00a6
#define WM_NCMBUTTONDOWN       0x00a7
#define WM_NCMBUTTONUP         0x00a8
#define WM_NCMBUTTONDBLCLK     0x00a9

#define WM_NCXBUTTONDOWN       0x00ab
#define WM_NCXBUTTONUP         0x00ac
#define WM_NCXBUTTONDBLCLK     0x00ad

/* Raw input */
#define WM_INPUT_DEVICE_CHANGE 0x00fe
#define WM_INPUT               0x00ff

/* Keyboard messages */
#define WM_KEYFIRST            0x0100
#define WM_KEYDOWN             WM_KEYFIRST
#define WM_KEYUP               0x0101
#define WM_CHAR                0x0102
#define WM_DEADCHAR            0x0103
#define WM_SYSKEYDOWN          0x0104
#define WM_SYSKEYUP            0x0105
#define WM_SYSCHAR             0x0106
#define WM_SYSDEADCHAR         0x0107
#define WM_UNICHAR             0x0109
#define WM_KEYLAST             WM_UNICHAR

#define UNICODE_NOCHAR         0xffff

/* Win32 4.0 messages for IME */
#define WM_IME_STARTCOMPOSITION 0x010d
#define WM_IME_ENDCOMPOSITION  0x010e
#define WM_IME_COMPOSITION     0x010f
#define WM_IME_KEYLAST         0x010f

#define WM_INITDIALOG          0x0110
#define WM_COMMAND             0x0111
#define WM_SYSCOMMAND          0x0112
#define WM_TIMER               0x0113

/* Scroll messages */
#define WM_HSCROLL             0x0114
#define WM_VSCROLL             0x0115

/* Menu messages */
#define WM_INITMENU            0x0116
#define WM_INITMENUPOPUP       0x0117
#define WM_GESTURE             0x0119
#define WM_GESTURENOTIFY       0x011A

#define WM_MENUSELECT          0x011F
#define WM_MENUCHAR            0x0120
#define WM_ENTERIDLE           0x0121

#define WM_MENURBUTTONUP       0x0122
#define WM_MENUDRAG            0x0123
#define WM_MENUGETOBJECT       0x0124
#define WM_UNINITMENUPOPUP     0x0125
#define WM_MENUCOMMAND         0x0126

#define WM_CHANGEUISTATE       0x0127
#define WM_UPDATEUISTATE       0x0128
#define WM_QUERYUISTATE        0x0129

/* UI flags for WM_*UISTATE */
/* for low-order word of wparam */
#define UIS_SET                1
#define UIS_CLEAR              2
#define UIS_INITIALIZE         3
/* for hi-order word of wparam */
#define UISF_HIDEFOCUS         0x1
#define UISF_HIDEACCEL         0x2
#define UISF_ACTIVE            0x4

#define WM_LBTRACKPOINT        0x0131 /* DDK / Win16 */

/* Win32 CTLCOLOR messages */
#define WM_CTLCOLORMSGBOX      0x0132
#define WM_CTLCOLOREDIT        0x0133
#define WM_CTLCOLORLISTBOX     0x0134
#define WM_CTLCOLORBTN         0x0135
#define WM_CTLCOLORDLG         0x0136
#define WM_CTLCOLORSCROLLBAR   0x0137
#define WM_CTLCOLORSTATIC      0x0138

#define MN_GETHMENU            0x01E1

/* Mouse messages */
#define WM_MOUSEFIRST          0x0200
#define WM_MOUSEMOVE           WM_MOUSEFIRST
#define WM_LBUTTONDOWN         0x0201
#define WM_LBUTTONUP           0x0202
#define WM_LBUTTONDBLCLK       0x0203
#define WM_RBUTTONDOWN         0x0204
#define WM_RBUTTONUP           0x0205
#define WM_RBUTTONDBLCLK       0x0206
#define WM_MBUTTONDOWN         0x0207
#define WM_MBUTTONUP           0x0208
#define WM_MBUTTONDBLCLK       0x0209
#define WM_MOUSEWHEEL          0x020A
#define WM_XBUTTONDOWN         0x020B
#define WM_XBUTTONUP           0x020C
#define WM_XBUTTONDBLCLK       0x020D
#define WM_MOUSEHWHEEL         0x020E
#define WM_MOUSELAST           WM_MOUSEHWHEEL

/* Macros for the mouse messages */
#define WHEEL_DELTA            120
#define GET_WHEEL_DELTA_WPARAM(wParam) ((short)HIWORD(wParam))
#define WHEEL_PAGESCROLL       (UINT_MAX)

#define GET_KEYSTATE_WPARAM(wParam)     (LOWORD(wParam))
#define GET_NCHITTEST_WPARAM(wParam)    ((short)LOWORD(wParam))
#define GET_XBUTTON_WPARAM(wParam)      (HIWORD(wParam))
#define XBUTTON1               0x0001
#define XBUTTON2               0x0002

#define WM_PARENTNOTIFY        0x0210
#define WM_ENTERMENULOOP       0x0211
#define WM_EXITMENULOOP        0x0212
#define WM_NEXTMENU            0x0213

/* Win32 4.0 messages */
#define WM_SIZING              0x0214
#define WM_CAPTURECHANGED      0x0215
#define WM_MOVING              0x0216
#define WM_POWERBROADCAST      0x0218
#define WM_DEVICECHANGE        0x0219
/* MDI messages */
#define WM_MDICREATE           0x0220
#define WM_MDIDESTROY          0x0221
#define WM_MDIACTIVATE         0x0222
#define WM_MDIRESTORE          0x0223
#define WM_MDINEXT             0x0224
#define WM_MDIMAXIMIZE         0x0225
#define WM_MDITILE             0x0226
#define WM_MDICASCADE          0x0227
#define WM_MDIICONARRANGE      0x0228
#define WM_MDIGETACTIVE        0x0229
#define WM_MDISETMENU          0x0230
#define WM_MDIREFRESHMENU      0x0234

/* D&D messages */
#define WM_DROPOBJECT          0x022A /* DDK / Win16 */
#define WM_QUERYDROPOBJECT     0x022B /* DDK / Win16 */
#define WM_BEGINDRAG           0x022C /* DDK / Win16 */
#define WM_DRAGLOOP            0x022D /* DDK / Win16 */
#define WM_DRAGSELECT          0x022E /* DDK / Win16 */
#define WM_DRAGMOVE            0x022F /* DDK / Win16 */

#define WM_ENTERSIZEMOVE       0x0231
#define WM_EXITSIZEMOVE        0x0232
#define WM_DROPFILES           0x0233

#define WM_TOUCH               0x0240

/* Win32 4.0 messages for IME */
#define WM_IME_SETCONTEXT      0x0281
#define WM_IME_NOTIFY          0x0282
#define WM_IME_CONTROL         0x0283
#define WM_IME_COMPOSITIONFULL 0x0284
#define WM_IME_SELECT          0x0285
#define WM_IME_CHAR            0x0286
/* Win32 5.0 messages for IME */
#define WM_IME_REQUEST         0x0288

/* Win32 4.0 messages for IME */
#define WM_IME_KEYDOWN         0x0290
#define WM_IME_KEYUP           0x0291

#define WM_NCMOUSEHOVER        0x02A0
#define WM_MOUSEHOVER          0x02A1
#define WM_MOUSELEAVE          0x02A3
#define WM_NCMOUSELEAVE        0x02A2

#define WM_WTSSESSION_CHANGE   0x02B1

#define WM_TABLET_FIRST        0x02c0
#define WM_TABLET_LAST         0x02df

/* Clipboard command messages */
#define WM_CUT                 0x0300
#define WM_COPY                0x0301
#define WM_PASTE               0x0302
#define WM_CLEAR               0x0303
#define WM_UNDO                0x0304

/* Clipboard owner messages */
#define WM_RENDERFORMAT        0x0305
#define WM_RENDERALLFORMATS    0x0306
#define WM_DESTROYCLIPBOARD    0x0307

/* Clipboard viewer messages */
#define WM_DRAWCLIPBOARD       0x0308
#define WM_PAINTCLIPBOARD      0x0309
#define WM_VSCROLLCLIPBOARD    0x030A
#define WM_SIZECLIPBOARD       0x030B
#define WM_ASKCBFORMATNAME     0x030C
#define WM_CHANGECBCHAIN       0x030D
#define WM_HSCROLLCLIPBOARD    0x030E

#define WM_QUERYNEWPALETTE     0x030F
#define WM_PALETTEISCHANGING   0x0310
#define WM_PALETTECHANGED      0x0311
#define WM_HOTKEY              0x0312

#define WM_PRINT               0x0317
#define WM_PRINTCLIENT         0x0318
#define WM_APPCOMMAND          0x0319
#define WM_THEMECHANGED        0x031A
#define WM_CLIPBOARDUPDATE     0x031D

#define WM_DWMCOMPOSITIONCHANGED 0x031E
#define WM_DWMNCRENDERINGCHANGED 0x031F
#define WM_DWMCOLORIZATIONCOLORCHANGED 0x0320
#define WM_DWMWINDOWMAXIMIZEDCHANGE 0x0321
#define WM_DWMSENDICONICTHUMBNAIL 0x0323
#define WM_DWMSENDICONICLIVEPREVIEWBITMAP 0x0326

#define WM_GETTITLEBARINFOEX   0x033F

#define WM_HANDHELDFIRST       0x0358
#define WM_HANDHELDLAST        0x035F

#define WM_AFXFIRST            0x0360
#define WM_AFXLAST             0x037F

#define WM_PENWINFIRST         0x0380
#define WM_PENWINLAST          0x038F

#define WM_USER                0x0400

#define WM_APP                 0x8000


/* wParam for WM_SIZING message */
#define WMSZ_LEFT              1
#define WMSZ_RIGHT             2
#define WMSZ_TOP               3
#define WMSZ_TOPLEFT           4
#define WMSZ_TOPRIGHT          5
#define WMSZ_BOTTOM            6
#define WMSZ_BOTTOMLEFT        7
#define WMSZ_BOTTOMRIGHT       8

/* WM_NCHITTEST return codes */
#define HTERROR                (-2)
#define HTTRANSPARENT          (-1)
#define HTNOWHERE              0
#define HTCLIENT               1
#define HTCAPTION              2
#define HTSYSMENU              3
#define HTSIZE                 4
#define HTGROWBOX              HTSIZE
#define HTMENU                 5
#define HTHSCROLL              6
#define HTVSCROLL              7
#define HTMINBUTTON            8
#define HTREDUCE               HTMINBUTTON
#define HTMAXBUTTON            9
#define HTZOOM                 HTMAXBUTTON
#define HTLEFT                 10
#define HTSIZEFIRST            HTLEFT
#define HTRIGHT                11
#define HTTOP                  12
#define HTTOPLEFT              13
#define HTTOPRIGHT             14
#define HTBOTTOM               15
#define HTBOTTOMLEFT           16
#define HTBOTTOMRIGHT          17
#define HTSIZELAST             HTBOTTOMRIGHT
#define HTBORDER               18
#define HTOBJECT               19
#define HTCLOSE                20
#define HTHELP                 21

/* SendMessageTimeout flags */
#define SMTO_NORMAL            0x0000
#define SMTO_BLOCK             0x0001
#define SMTO_ABORTIFHUNG       0x0002
#define SMTO_NOTIMEOUTIFNOTHUNG 0x0008
#define SMTO_ERRORONEXIT       0x0020

/* WM_MOUSEACTIVATE return values */
#define MA_ACTIVATE            1
#define MA_ACTIVATEANDEAT      2
#define MA_NOACTIVATE          3
#define MA_NOACTIVATEANDEAT    4

/* WM_GETICON/WM_SETICON params values */
#define ICON_SMALL             0
#define ICON_BIG               1
#define ICON_SMALL2            2

/* WM_SIZE message wParam values */
#define SIZE_RESTORED          0
#define SIZE_MINIMIZED         1
#define SIZE_MAXIMIZED         2
#define SIZE_MAXSHOW           3
#define SIZE_MAXHIDE           4
#define SIZENORMAL             SIZE_RESTORED
#define SIZEICONIC             SIZE_MINIMIZED
#define SIZEFULLSCREEN         SIZE_MAXIMIZED
#define SIZEZOOMSHOW           SIZE_MAXSHOW
#define SIZEZOOMHIDE           SIZE_MAXHIDE

/* WM_NCCALCSIZE return flags */
#define WVR_ALIGNTOP           0x0010
#define WVR_ALIGNLEFT          0x0020
#define WVR_ALIGNBOTTOM        0x0040
#define WVR_ALIGNRIGHT         0x0080
#define WVR_HREDRAW            0x0100
#define WVR_VREDRAW            0x0200
#define WVR_REDRAW             (WVR_HREDRAW | WVR_VREDRAW)
#define WVR_VALIDRECTS         0x0400

/* Key status flags for mouse events */
#ifndef NOKEYSTATES
#define MK_LBUTTON             0x0001
#define MK_RBUTTON             0x0002
#define MK_SHIFT               0x0004
#define MK_CONTROL             0x0008
#define MK_MBUTTON             0x0010
#define MK_XBUTTON1            0x0020
#define MK_XBUTTON2            0x0040
#endif /* NOKEYSTATES */

#ifndef NOTRACKMOUSEEVENT
#define TME_HOVER              0x00000001
#define TME_LEAVE              0x00000002
#define TME_NONCLIENT          0x00000010
#define TME_QUERY              0x40000000
#define TME_CANCEL             0x80000000
#define HOVER_DEFAULT          0xFFFFFFFF
#endif /* NOTRACKMOUSEEVENT */

#endif /* NOWINMESSAGES */


/*** Window Styles ***/
#ifndef NOWINSTYLES
#define WS_OVERLAPPED          __MSABI_LONG(0x00000000)
#define WS_POPUP               __MSABI_LONG(0x80000000)
#define WS_CHILD               __MSABI_LONG(0x40000000)
#define WS_MINIMIZE            __MSABI_LONG(0x20000000)
#define WS_VISIBLE             __MSABI_LONG(0x10000000)
#define WS_DISABLED            __MSABI_LONG(0x08000000)
#define WS_CLIPSIBLINGS        __MSABI_LONG(0x04000000)
#define WS_CLIPCHILDREN        __MSABI_LONG(0x02000000)
#define WS_MAXIMIZE            __MSABI_LONG(0x01000000)
#define WS_BORDER              __MSABI_LONG(0x00800000)
#define WS_DLGFRAME            __MSABI_LONG(0x00400000)
#define WS_VSCROLL             __MSABI_LONG(0x00200000)
#define WS_HSCROLL             __MSABI_LONG(0x00100000)
#define WS_SYSMENU             __MSABI_LONG(0x00080000)
#define WS_THICKFRAME          __MSABI_LONG(0x00040000)
#define WS_GROUP               __MSABI_LONG(0x00020000)
#define WS_TABSTOP             __MSABI_LONG(0x00010000)
#define WS_MINIMIZEBOX         __MSABI_LONG(0x00020000)
#define WS_MAXIMIZEBOX         __MSABI_LONG(0x00010000)
#define WS_CAPTION             (WS_BORDER | WS_DLGFRAME)
#define WS_TILED               WS_OVERLAPPED
#define WS_ICONIC              WS_MINIMIZE
#define WS_SIZEBOX             WS_THICKFRAME
#define WS_OVERLAPPEDWINDOW    (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME| WS_MINIMIZEBOX | WS_MAXIMIZEBOX)
#define WS_POPUPWINDOW         (WS_POPUP | WS_BORDER | WS_SYSMENU)
#define WS_CHILDWINDOW         WS_CHILD
#define WS_TILEDWINDOW         WS_OVERLAPPEDWINDOW
#endif /* NOWINSTYLES */


/*** Window extended styles ***/
#ifndef NOWINSTYLES
#define WS_EX_DLGMODALFRAME    __MSABI_LONG(0x00000001)
#define WS_EX_DRAGDETECT       __MSABI_LONG(0x00000002) /* Undocumented */
#define WS_EX_NOPARENTNOTIFY   __MSABI_LONG(0x00000004)
#define WS_EX_TOPMOST          __MSABI_LONG(0x00000008)
#define WS_EX_ACCEPTFILES      __MSABI_LONG(0x00000010)
#define WS_EX_TRANSPARENT      __MSABI_LONG(0x00000020)
#define WS_EX_MDICHILD         __MSABI_LONG(0x00000040)
#define WS_EX_TOOLWINDOW       __MSABI_LONG(0x00000080)
#define WS_EX_WINDOWEDGE       __MSABI_LONG(0x00000100)
#define WS_EX_CLIENTEDGE       __MSABI_LONG(0x00000200)
#define WS_EX_CONTEXTHELP      __MSABI_LONG(0x00000400)
#define WS_EX_RIGHT            __MSABI_LONG(0x00001000)
#define WS_EX_LEFT             __MSABI_LONG(0x00000000)
#define WS_EX_RTLREADING       __MSABI_LONG(0x00002000)
#define WS_EX_LTRREADING       __MSABI_LONG(0x00000000)
#define WS_EX_LEFTSCROLLBAR    __MSABI_LONG(0x00004000)
#define WS_EX_RIGHTSCROLLBAR   __MSABI_LONG(0x00000000)
#define WS_EX_CONTROLPARENT    __MSABI_LONG(0x00010000)
#define WS_EX_STATICEDGE       __MSABI_LONG(0x00020000)
#define WS_EX_APPWINDOW        __MSABI_LONG(0x00040000)
#define WS_EX_LAYERED          __MSABI_LONG(0x00080000)
#define WS_EX_NOINHERITLAYOUT  __MSABI_LONG(0x00100000)
#define WS_EX_LAYOUTRTL        __MSABI_LONG(0x00400000)
#define WS_EX_COMPOSITED       __MSABI_LONG(0x02000000)
#define WS_EX_NOACTIVATE       __MSABI_LONG(0x08000000)

#define WS_EX_OVERLAPPEDWINDOW (WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE)
#define WS_EX_PALETTEWINDOW    (WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST)
#endif /* NOWINSTYLES */


/*** Class styles ***/
#ifndef NOWINSTYLES
#define CS_VREDRAW             0x00000001
#define CS_HREDRAW             0x00000002
#define CS_KEYCVTWINDOW        0x00000004 /* DDK / Win16 */
#define CS_DBLCLKS             0x00000008
#define CS_OWNDC               0x00000020
#define CS_CLASSDC             0x00000040
#define CS_PARENTDC            0x00000080
#define CS_NOKEYCVT            0x00000100 /* DDK / Win16 */
#define CS_NOCLOSE             0x00000200
#define CS_SAVEBITS            0x00000800
#define CS_BYTEALIGNCLIENT     0x00001000
#define CS_BYTEALIGNWINDOW     0x00002000
#define CS_GLOBALCLASS         0x00004000
#define CS_IME                 0x00010000
#define CS_DROPSHADOW          0x00020000
#endif /* NOWINSTYLES */


/*** Predefined Clipboard Formats ***/
#ifndef NOCLIPBOARD
#define CF_TEXT                1
#define CF_BITMAP              2
#define CF_METAFILEPICT        3
#define CF_SYLK                4
#define CF_DIF                 5
#define CF_TIFF                6
#define CF_OEMTEXT             7
#define CF_DIB                 8
#define CF_PALETTE             9
#define CF_PENDATA             10
#define CF_RIFF                11
#define CF_WAVE                12
#define CF_UNICODETEXT         13
#define CF_ENHMETAFILE         14
#define CF_HDROP               15
#define CF_LOCALE              16
#define CF_DIBV5               17
#define CF_MAX                 18

#define CF_OWNERDISPLAY        0x0080
#define CF_DSPTEXT             0x0081
#define CF_DSPBITMAP           0x0082
#define CF_DSPMETAFILEPICT     0x0083
#define CF_DSPENHMETAFILE      0x008E

/* "Private" formats don't get GlobalFree()'d */
#define CF_PRIVATEFIRST        0x0200
#define CF_PRIVATELAST         0x02FF

/* "GDIOBJ" formats do get DeleteObject()'d */
#define CF_GDIOBJFIRST         0x0300
#define CF_GDIOBJLAST          0x03FF
#endif /* NOCLIPBOARD */


/*** Menu flags ***/
#ifndef NOMENUS
#define MF_INSERT              __MSABI_LONG(0x00000000)
#define MF_CHANGE              __MSABI_LONG(0x00000080)
#define MF_APPEND              __MSABI_LONG(0x00000100)
#define MF_DELETE              __MSABI_LONG(0x00000200)
#define MF_REMOVE              __MSABI_LONG(0x00001000)
#define MF_END                 __MSABI_LONG(0x00000080)

#define MF_ENABLED             __MSABI_LONG(0x00000000)
#define MF_GRAYED              __MSABI_LONG(0x00000001)
#define MF_DISABLED            __MSABI_LONG(0x00000002)
#define MF_STRING              __MSABI_LONG(0x00000000)
#define MF_BITMAP              __MSABI_LONG(0x00000004)
#define MF_UNCHECKED           __MSABI_LONG(0x00000000)
#define MF_CHECKED             __MSABI_LONG(0x00000008)
#define MF_POPUP               __MSABI_LONG(0x00000010)
#define MF_MENUBARBREAK        __MSABI_LONG(0x00000020)
#define MF_MENUBREAK           __MSABI_LONG(0x00000040)
#define MF_UNHILITE            __MSABI_LONG(0x00000000)
#define MF_HILITE              __MSABI_LONG(0x00000080)
#define MF_OWNERDRAW           __MSABI_LONG(0x00000100)
#define MF_USECHECKBITMAPS     __MSABI_LONG(0x00000200)
#define MF_BYCOMMAND           __MSABI_LONG(0x00000000)
#define MF_BYPOSITION          __MSABI_LONG(0x00000400)
#define MF_SEPARATOR           __MSABI_LONG(0x00000800)
#define MF_DEFAULT             __MSABI_LONG(0x00001000)
#define MF_SYSMENU             __MSABI_LONG(0x00002000)
#define MF_HELP                __MSABI_LONG(0x00004000)
#define MF_RIGHTJUSTIFY        __MSABI_LONG(0x00004000)
#define MF_MOUSESELECT         __MSABI_LONG(0x00008000)

/* Flags for extended menu item types */
#define MFT_STRING             MF_STRING
#define MFT_BITMAP             MF_BITMAP
#define MFT_MENUBARBREAK       MF_MENUBARBREAK
#define MFT_MENUBREAK          MF_MENUBREAK
#define MFT_OWNERDRAW          MF_OWNERDRAW
#define MFT_RADIOCHECK         __MSABI_LONG(0x00000200)
#define MFT_SEPARATOR          MF_SEPARATOR
#define MFT_RIGHTORDER         __MSABI_LONG(0x00002000)
#define MFT_RIGHTJUSTIFY       MF_RIGHTJUSTIFY

/* Flags for extended menu item states */
#define MFS_GRAYED             __MSABI_LONG(0x00000003)
#define MFS_DISABLED           MFS_GRAYED
#define MFS_CHECKED            MF_CHECKED
#define MFS_HILITE             MF_HILITE
#define MFS_ENABLED            MF_ENABLED
#define MFS_UNCHECKED          MF_UNCHECKED
#define MFS_UNHILITE           MF_UNHILITE
#define MFS_DEFAULT            MF_DEFAULT

/* DDK / Win16 defines */
#define MFS_MASK               __MSABI_LONG(0x0000108B)
#define MFS_HOTTRACKDRAWN      __MSABI_LONG(0x10000000)
#define MFS_CACHEDBMP          __MSABI_LONG(0x20000000)
#define MFS_BOTTOMGAPDROP      __MSABI_LONG(0x40000000)
#define MFS_TOPGAPDROP         __MSABI_LONG(0x80000000)
#define MFS_GAPDROP            (MFS_BOTTOMGAPDROP | MFS_TOPGAPDROP)
#endif /* NOMENUS */


/*** WM_SYSCOMMAND parameters ***/
#ifndef NOSYSCOMMANDS
/* At least HP-UX defines it in /usr/include/sys/signal.h */
# ifdef SC_SIZE
#  undef SC_SIZE
# endif
#define SC_SIZE                0xf000
#define SC_MOVE                0xf010
#define SC_MINIMIZE            0xf020
#define SC_MAXIMIZE            0xf030
#define SC_NEXTWINDOW          0xf040
#define SC_PREVWINDOW          0xf050
#define SC_CLOSE               0xf060
#define SC_VSCROLL             0xf070
#define SC_HSCROLL             0xf080
#define SC_MOUSEMENU           0xf090
#define SC_KEYMENU             0xf100
#define SC_ARRANGE             0xf110
#define SC_RESTORE             0xf120
#define SC_TASKLIST            0xf130
#define SC_SCREENSAVE          0xf140
#define SC_HOTKEY              0xf150

/* Win32 4.0 */
#define SC_DEFAULT             0xf160
#define SC_MONITORPOWER        0xf170
#define SC_CONTEXTHELP         0xf180
#define SC_SEPARATOR           0xf00f

#define GET_SC_WPARAM(wParam)  ((int)wParam & 0xfff0)
#define SCF_ISSECURE           0x0001

/* Obsolete names */
#define SC_ICON               SC_MINIMIZE
#define SC_ZOOM               SC_MAXIMIZE
#endif /* NOSYSCOMMANDS */


/*** OEM Resource Ordinal Numbers ***/
#ifdef OEMRESOURCE
#define OBM_RDRVERT            32559
#define OBM_RDRHORZ            32660
#define OBM_RDR2DIM            32661
#define OBM_TRTYPE             32732 /* FIXME: Wine-only */
#define OBM_LFARROWI           32734
#define OBM_RGARROWI           32735
#define OBM_DNARROWI           32736
#define OBM_UPARROWI           32737
#define OBM_COMBO              32738
#define OBM_MNARROW            32739
#define OBM_LFARROWD           32740
#define OBM_RGARROWD           32741
#define OBM_DNARROWD           32742
#define OBM_UPARROWD           32743
#define OBM_RESTORED           32744
#define OBM_ZOOMD              32745
#define OBM_REDUCED            32746
#define OBM_RESTORE            32747
#define OBM_ZOOM               32748
#define OBM_REDUCE             32749
#define OBM_LFARROW            32750
#define OBM_RGARROW            32751
#define OBM_DNARROW            32752
#define OBM_UPARROW            32753
#define OBM_CLOSE              32754
#define OBM_OLD_RESTORE        32755
#define OBM_OLD_ZOOM           32756
#define OBM_OLD_REDUCE         32757
#define OBM_BTNCORNERS         32758
#define OBM_CHECKBOXES         32759
#define OBM_CHECK              32760
#define OBM_BTSIZE             32761
#define OBM_OLD_LFARROW        32762
#define OBM_OLD_RGARROW        32763
#define OBM_OLD_DNARROW        32764
#define OBM_OLD_UPARROW        32765
#define OBM_SIZE               32766
#define OBM_OLD_CLOSE          32767

#define OCR_NORMAL             32512
#define OCR_IBEAM              32513
#define OCR_WAIT               32514
#define OCR_CROSS              32515
#define OCR_UP                 32516
#define OCR_PEN                32631
#define OCR_SIZE               32640
#define OCR_ICON               32641
#define OCR_SIZENWSE           32642
#define OCR_SIZENESW           32643
#define OCR_SIZEWE             32644
#define OCR_SIZENS             32645
#define OCR_SIZEALL            32646
#define OCR_ICOCUR             32647
#define OCR_NO                 32648
#define OCR_HAND               32649
#define OCR_APPSTARTING        32650
#define OCR_HELP               32651 /* DDK / Win16 */
#define OCR_RDRVERT            32652 /* DDK / Win16 */
#define OCR_RDRHORZ            32653 /* DDK / Win16 */
#define OCR_RDR2DIM            32654 /* DDK / Win16 */
#define OCR_RDRNORTH           32655 /* DDK / Win16 */
#define OCR_RDRSOUTH           32656 /* DDK / Win16 */
#define OCR_RDRWEST            32657 /* DDK / Win16 */
#define OCR_RDREAST            32658 /* DDK / Win16 */
#define OCR_RDRNORTHWEST       32659 /* DDK / Win16 */
#define OCR_RDRNORTHEAST       32660 /* DDK / Win16 */
#define OCR_RDRSOUTHWEST       32661 /* DDK / Win16 */
#define OCR_RDRSOUTHEAST       32662 /* DDK / Win16 */

#define OIC_SAMPLE             32512
#define OIC_HAND               32513
#define OIC_ERROR              OIC_HAND
#define OIC_QUES               32514
#define OIC_BANG               32515
#define OIC_WARNING            OIC_BANG
#define OIC_NOTE               32516
#define OIC_INFORMATION        OIC_NOTE
#define OIC_WINLOGO            32517
#define OIC_SHIELD             32518
#endif /* OEMRESOURCE */


/*** Predefined resources ***/
#ifndef NOICONS
#define IDI_APPLICATION        MAKEINTRESOURCE(32512)
#define IDI_HAND               MAKEINTRESOURCE(32513)
#define IDI_QUESTION           MAKEINTRESOURCE(32514)
#define IDI_EXCLAMATION        MAKEINTRESOURCE(32515)
#define IDI_ASTERISK           MAKEINTRESOURCE(32516)
#define IDI_WINLOGO            MAKEINTRESOURCE(32517)
#define IDI_SHIELD             MAKEINTRESOURCE(32518)

#define IDI_WARNING            IDI_EXCLAMATION
#define IDI_ERROR              IDI_HAND
#define IDI_INFORMATION        IDI_ASTERISK
#endif /* NOICONS */


/*** Standard dialog button IDs ***/
#define IDOK                   1
#define IDCANCEL               2
#define IDABORT                3
#define IDRETRY                4
#define IDIGNORE               5
#define IDYES                  6
#define IDNO                   7
#define IDCLOSE                8
#define IDHELP                 9
#define IDTRYAGAIN             10
#define IDCONTINUE             11
#ifndef IDTIMEOUT
#define IDTIMEOUT              32000
#endif


/*** Edit control styles ***/
#ifndef NOWINSTYLES
#define ES_LEFT                __MSABI_LONG(0x00000000)
#define ES_CENTER              __MSABI_LONG(0x00000001)
#define ES_RIGHT               __MSABI_LONG(0x00000002)
#define ES_MULTILINE           __MSABI_LONG(0x00000004)
#define ES_UPPERCASE           __MSABI_LONG(0x00000008)
#define ES_LOWERCASE           __MSABI_LONG(0x00000010)
#define ES_PASSWORD            __MSABI_LONG(0x00000020)
#define ES_AUTOVSCROLL         __MSABI_LONG(0x00000040)
#define ES_AUTOHSCROLL         __MSABI_LONG(0x00000080)
#define ES_NOHIDESEL           __MSABI_LONG(0x00000100)
#define ES_COMBO               __MSABI_LONG(0x00000200) /* Undocumented. Parent is a combobox */
#define ES_OEMCONVERT          __MSABI_LONG(0x00000400)
#define ES_READONLY            __MSABI_LONG(0x00000800)
#define ES_WANTRETURN          __MSABI_LONG(0x00001000)
#define ES_NUMBER              __MSABI_LONG(0x00002000)
#endif /* NOWINSTYLES */


/*** Edit control messages ***/
#ifndef NOWINMESSAGES
#define EM_GETSEL              0x00b0
#define EM_SETSEL              0x00b1
#define EM_GETRECT             0x00b2
#define EM_SETRECT             0x00b3
#define EM_SETRECTNP           0x00b4
#define EM_SCROLL              0x00b5
#define EM_LINESCROLL          0x00b6
#define EM_SCROLLCARET         0x00b7
#define EM_GETMODIFY           0x00b8
#define EM_SETMODIFY           0x00b9
#define EM_GETLINECOUNT        0x00ba
#define EM_LINEINDEX           0x00bb
#define EM_SETHANDLE           0x00bc
#define EM_GETHANDLE           0x00bd
#define EM_GETTHUMB            0x00be
/* Unassigned 0x00bf and 0x00c0 */
#define EM_LINELENGTH          0x00c1
#define EM_REPLACESEL          0x00c2
#define EM_SETFONT             0x00c3 /* DDK / Win16 */
#define EM_GETLINE             0x00c4
#define EM_LIMITTEXT           0x00c5
#define EM_SETLIMITTEXT        EM_LIMITTEXT
#define EM_CANUNDO             0x00c6
#define EM_UNDO                0x00c7
#define EM_FMTLINES            0x00c8
#define EM_LINEFROMCHAR        0x00c9
#define EM_SETWORDBREAK        0x00ca /* DDK / Win16 */
#define EM_SETTABSTOPS         0x00cb
#define EM_SETPASSWORDCHAR     0x00cc
#define EM_EMPTYUNDOBUFFER     0x00cd
#define EM_GETFIRSTVISIBLELINE 0x00ce
#define EM_SETREADONLY         0x00cf
#define EM_SETWORDBREAKPROC    0x00d0
#define EM_GETWORDBREAKPROC    0x00d1
#define EM_GETPASSWORDCHAR     0x00d2
#define EM_SETMARGINS          0x00d3
#define EM_GETMARGINS          0x00d4
#define EM_GETLIMITTEXT        0x00d5
#define EM_POSFROMCHAR         0x00d6
#define EM_CHARFROMPOS         0x00d7
#define EM_SETIMESTATUS        0x00d8
#define EM_GETIMESTATUS        0x00d9
#endif /* NOWINMESSAGES */


/*** Button control styles ***/
#define BS_PUSHBUTTON          __MSABI_LONG(0x00000000)
#define BS_DEFPUSHBUTTON       __MSABI_LONG(0x00000001)
#define BS_CHECKBOX            __MSABI_LONG(0x00000002)
#define BS_AUTOCHECKBOX        __MSABI_LONG(0x00000003)
#define BS_RADIOBUTTON         __MSABI_LONG(0x00000004)
#define BS_3STATE              __MSABI_LONG(0x00000005)
#define BS_AUTO3STATE          __MSABI_LONG(0x00000006)
#define BS_GROUPBOX            __MSABI_LONG(0x00000007)
#define BS_USERBUTTON          __MSABI_LONG(0x00000008)
#define BS_AUTORADIOBUTTON     __MSABI_LONG(0x00000009)
#define BS_PUSHBOX             __MSABI_LONG(0x0000000A)
#define BS_OWNERDRAW           __MSABI_LONG(0x0000000B)
#define BS_TYPEMASK            __MSABI_LONG(0x0000000F)
#define BS_LEFTTEXT            __MSABI_LONG(0x00000020)
#define BS_RIGHTBUTTON         BS_LEFTTEXT

#define BS_TEXT                __MSABI_LONG(0x00000000)
#define BS_ICON                __MSABI_LONG(0x00000040)
#define BS_BITMAP              __MSABI_LONG(0x00000080)
#define BS_LEFT                __MSABI_LONG(0x00000100)
#define BS_RIGHT               __MSABI_LONG(0x00000200)
#define BS_CENTER              __MSABI_LONG(0x00000300)
#define BS_TOP                 __MSABI_LONG(0x00000400)
#define BS_BOTTOM              __MSABI_LONG(0x00000800)
#define BS_VCENTER             __MSABI_LONG(0x00000C00)
#define BS_PUSHLIKE            __MSABI_LONG(0x00001000)
#define BS_MULTILINE           __MSABI_LONG(0x00002000)
#define BS_NOTIFY              __MSABI_LONG(0x00004000)
#define BS_FLAT                __MSABI_LONG(0x00008000)


/*** Button notification codes ***/
#define BN_CLICKED             0
#define BN_PAINT               1
#define BN_HILITE              2
#define BN_PUSHED              BN_HILITE
#define BN_UNHILITE            3
#define BN_UNPUSHED            BN_UNHILITE
#define BN_DISABLE             4
#define BN_DOUBLECLICKED       5
#define BN_DBLCLK              BN_DOUBLECLICKED
#define BN_SETFOCUS            6
#define BN_KILLFOCUS           7


/*** Win32 button control messages ***/
#define BM_GETCHECK            0x00f0
#define BM_SETCHECK            0x00f1
#define BM_GETSTATE            0x00f2
#define BM_SETSTATE            0x00f3
#define BM_SETSTYLE            0x00f4
#define BM_CLICK               0x00f5
#define BM_GETIMAGE            0x00f6
#define BM_SETIMAGE            0x00f7
#define BM_SETDONTCLICK        0x00f8

/* Button states */
#define BST_UNCHECKED          0x0000
#define BST_CHECKED            0x0001
#define BST_INDETERMINATE      0x0002
#define BST_PUSHED             0x0004
#define BST_FOCUS              0x0008

/*** Static Control Styles ***/
#define SS_LEFT                __MSABI_LONG(0x00000000)
#define SS_CENTER              __MSABI_LONG(0x00000001)
#define SS_RIGHT               __MSABI_LONG(0x00000002)
#define SS_ICON                __MSABI_LONG(0x00000003)
#define SS_BLACKRECT           __MSABI_LONG(0x00000004)
#define SS_GRAYRECT            __MSABI_LONG(0x00000005)
#define SS_WHITERECT           __MSABI_LONG(0x00000006)
#define SS_BLACKFRAME          __MSABI_LONG(0x00000007)
#define SS_GRAYFRAME           __MSABI_LONG(0x00000008)
#define SS_WHITEFRAME          __MSABI_LONG(0x00000009)
#define SS_USERITEM            __MSABI_LONG(0x0000000A)
#define SS_SIMPLE              __MSABI_LONG(0x0000000B)
#define SS_LEFTNOWORDWRAP      __MSABI_LONG(0x0000000C)
#define SS_OWNERDRAW           __MSABI_LONG(0x0000000D)
#define SS_BITMAP              __MSABI_LONG(0x0000000E)
#define SS_ENHMETAFILE         __MSABI_LONG(0x0000000F)
#define SS_ETCHEDHORZ          __MSABI_LONG(0x00000010)
#define SS_ETCHEDVERT          __MSABI_LONG(0x00000011)
#define SS_ETCHEDFRAME         __MSABI_LONG(0x00000012)
#define SS_TYPEMASK            __MSABI_LONG(0x0000001F)

#define SS_REALSIZECONTROL     __MSABI_LONG(0x00000040)
#define SS_NOPREFIX            __MSABI_LONG(0x00000080)
#define SS_NOTIFY              __MSABI_LONG(0x00000100)
#define SS_CENTERIMAGE         __MSABI_LONG(0x00000200)
#define SS_RIGHTJUST           __MSABI_LONG(0x00000400)
#define SS_REALSIZEIMAGE       __MSABI_LONG(0x00000800)
#define SS_SUNKEN              __MSABI_LONG(0x00001000)
#define SS_EDITCONTROL         __MSABI_LONG(0x00002000)
#define SS_ENDELLIPSIS         __MSABI_LONG(0x00004000)
#define SS_PATHELLIPSIS        __MSABI_LONG(0x00008000)
#define SS_WORDELLIPSIS        __MSABI_LONG(0x0000C000)
#define SS_ELLIPSISMASK        SS_WORDELLIPSIS


/*** Dialog styles ***/
#define DS_ABSALIGN            __MSABI_LONG(0x00000001)
#define DS_SYSMODAL            __MSABI_LONG(0x00000002)
#define DS_3DLOOK              __MSABI_LONG(0x00000004) /* win95 */
#define DS_FIXEDSYS            __MSABI_LONG(0x00000008) /* win95 */
#define DS_NOFAILCREATE        __MSABI_LONG(0x00000010) /* win95 */
#define DS_LOCALEDIT           __MSABI_LONG(0x00000020)
#define DS_SETFONT             __MSABI_LONG(0x00000040)
#define DS_MODALFRAME          __MSABI_LONG(0x00000080)
#define DS_NOIDLEMSG           __MSABI_LONG(0x00000100)
#define DS_SETFOREGROUND       __MSABI_LONG(0x00000200) /* win95 */
#define DS_CONTROL             __MSABI_LONG(0x00000400) /* win95 */
#define DS_CENTER              __MSABI_LONG(0x00000800) /* win95 */
#define DS_CENTERMOUSE         __MSABI_LONG(0x00001000) /* win95 */
#define DS_CONTEXTHELP         __MSABI_LONG(0x00002000) /* win95 */
#define DS_USEPIXELS           __MSABI_LONG(0x00008000)
#define DS_SHELLFONT           (DS_SETFONT | DS_FIXEDSYS)


/*** Listbox styles ***/
#ifndef NOWINSTYLES
#define LBS_NOTIFY             __MSABI_LONG(0x00000001)
#define LBS_SORT               __MSABI_LONG(0x00000002)
#define LBS_NOREDRAW           __MSABI_LONG(0x00000004)
#define LBS_MULTIPLESEL        __MSABI_LONG(0x00000008)
#define LBS_OWNERDRAWFIXED     __MSABI_LONG(0x00000010)
#define LBS_OWNERDRAWVARIABLE  __MSABI_LONG(0x00000020)
#define LBS_HASSTRINGS         __MSABI_LONG(0x00000040)
#define LBS_USETABSTOPS        __MSABI_LONG(0x00000080)
#define LBS_NOINTEGRALHEIGHT   __MSABI_LONG(0x00000100)
#define LBS_MULTICOLUMN        __MSABI_LONG(0x00000200)
#define LBS_WANTKEYBOARDINPUT  __MSABI_LONG(0x00000400)
#define LBS_EXTENDEDSEL        __MSABI_LONG(0x00000800)
#define LBS_DISABLENOSCROLL    __MSABI_LONG(0x00001000)
#define LBS_NODATA             __MSABI_LONG(0x00002000)
#define LBS_NOSEL              __MSABI_LONG(0x00004000)
#define LBS_COMBOBOX           __MSABI_LONG(0x00008000)
#define LBS_STANDARD           (LBS_NOTIFY | LBS_SORT | WS_VSCROLL | WS_BORDER)
#endif /* NOWINSTYLES */

/*** Combo box styles ***/
#ifndef NOWINSTYLES
#define CBS_SIMPLE             __MSABI_LONG(0x00000001)
#define CBS_DROPDOWN           __MSABI_LONG(0x00000002)
#define CBS_DROPDOWNLIST       __MSABI_LONG(0x00000003)
#define CBS_OWNERDRAWFIXED     __MSABI_LONG(0x00000010)
#define CBS_OWNERDRAWVARIABLE  __MSABI_LONG(0x00000020)
#define CBS_AUTOHSCROLL        __MSABI_LONG(0x00000040)
#define CBS_OEMCONVERT         __MSABI_LONG(0x00000080)
#define CBS_SORT               __MSABI_LONG(0x00000100)
#define CBS_HASSTRINGS         __MSABI_LONG(0x00000200)
#define CBS_NOINTEGRALHEIGHT   __MSABI_LONG(0x00000400)
#define CBS_DISABLENOSCROLL    __MSABI_LONG(0x00000800)

#define CBS_UPPERCASE          __MSABI_LONG(0x00002000)
#define CBS_LOWERCASE          __MSABI_LONG(0x00004000)
#endif /* NOWINSTYLES */


/*** Scrollbar styles ***/
#ifndef NOWINSTYLES
#define SBS_HORZ               __MSABI_LONG(0x00000000)
#define SBS_VERT               __MSABI_LONG(0x00000001)
#define SBS_TOPALIGN           __MSABI_LONG(0x00000002)
#define SBS_LEFTALIGN          __MSABI_LONG(0x00000002)
#define SBS_BOTTOMALIGN        __MSABI_LONG(0x00000004)
#define SBS_RIGHTALIGN         __MSABI_LONG(0x00000004)
#define SBS_SIZEBOXTOPLEFTALIGN __MSABI_LONG(0x00000002)
#define SBS_SIZEBOXBOTTOMRIGHTALIGN __MSABI_LONG(0x00000004)
#define SBS_SIZEBOX            __MSABI_LONG(0x00000008)
#define SBS_SIZEGRIP           __MSABI_LONG(0x00000010)
#endif /* NOWINSTYLES */

/*** WinHelp commands ***/
#define HELP_CONTEXT           __MSABI_LONG(0x00000001)
#define HELP_QUIT              __MSABI_LONG(0x00000002)
#define HELP_INDEX             __MSABI_LONG(0x00000003)
#define HELP_CONTENTS          HELP_INDEX
#define HELP_HELPONHELP        __MSABI_LONG(0x00000004)
#define HELP_SETINDEX          __MSABI_LONG(0x00000005)
#define HELP_SETCONTENTS       HELP_SETINDEX
#define HELP_CONTEXTPOPUP      __MSABI_LONG(0x00000008)
#define HELP_FORCEFILE         __MSABI_LONG(0x00000009)
#define HELP_KEY               __MSABI_LONG(0x00000101)
#define HELP_COMMAND           __MSABI_LONG(0x00000102)
#define HELP_PARTIALKEY        __MSABI_LONG(0x00000105)
#define HELP_MULTIKEY          __MSABI_LONG(0x00000201)
#define HELP_SETWINPOS         __MSABI_LONG(0x00000203)

#define HELP_CONTEXTMENU       0x000a
#define HELP_FINDER            0x000b
#define HELP_WM_HELP           0x000c
#define HELP_SETPOPUP_POS      0x000d
#define HELP_TCARD_DATA        0x0010
#define HELP_TCARD_OTHER_CALLER 0x0011
#define HELP_TCARD             0x8000

#define IDH_NO_HELP            28440
#define IDH_MISSING_CONTEXT    28441
#define IDH_GENERIC_HELP_BUTTON 28442
#define IDH_OK                 28443
#define IDH_CANCEL             28444
#define IDH_HELP               28445
