/*
 * 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_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_DRAGOBJECT         OCR_RDRHORZ /* FIXME: Wine-only */
#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
