/* * 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