Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1079 lines
28 KiB

;------------------------
; General window messages
;
; MSDWP.C and others
;
; MP_CTRLID assumes hWnd
;
MESSAGE_CLASS COMMON
MESSAGE WM_CREATE, <SYSTEM>
MP_WMBZ wParam ;unused
MP_LONG lpCS ;ObjectVision breaks if we validate
MESSAGE WM_DESTROY, <SYSTEM>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_MOVE, <SYSTEM>
MP_WMBZ wParam ;unused
MP_int X ;new X location of upper left of client area
MP_int Y ;new Y location of upper left of client area
MESSAGE WM_SIZE, <SYSTEM>
MP_VALUE wSizeType, SIZE_MAX ;** range 0-4
MP_int CX ;new width of window
MP_int CY ;new height of window
MESSAGE WM_ACTIVATE, <SYSTEM>
MP_BOOL bActivating ;** wParam == 0 => lParamLo is handle to
MP_HWNDW0 hwndActDeact ;activated window otherwise lParamLo is handle
;to inactive window (can be NULL)
;Made this a warning because WinProject 1.0
;passes in a 1 here when using for its own
;use
MP_BOOL bMaximized ;BOOL value
MESSAGE WM_SETFOCUS, <SYSTEM>
MP_HWND0 hWndFocus ;handle to window losing focus.
MP_LMBZ lParam ;unused
MESSAGE WM_KILLFOCUS, <SYSTEM>
MP_HWND0 hWndFocus ;handle to window receiving focus.
MP_LMBZ lParam ;unused
MESSAGE WM_ENABLE, <SYSTEM>
MP_BOOL bEnabled ;BOOL value
MP_LMBZ lParam ;unused
MESSAGE WM_SETREDRAW
MP_BOOL bRedraw ;BOOL value
MP_LMBZ lParam ;unused
MESSAGE WM_SETTEXT
MP_WMBZ wParam ;unused
MP_CLPSTR0 lpString
MESSAGE WM_GETTEXT
MP_LPBUFFERX nCount, lpBuffer
MESSAGE WM_GETTEXTLENGTH
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_PAINT, <SYSTEM>
MP_HDC0 hdc ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_CLOSE, <SYSTEM>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_QUERYENDSESSION, <SYSTEM>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_QUIT, <POSTED, SYSTEM>
MP_WORD nExitCode
MP_LMBZ lParam ;unused
MESSAGE WM_QUERYOPEN, <SYSTEM>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_ERASEBKGND, <SYSTEM>
MP_HDC hDC
MP_LMBZ lParam ;unused
MESSAGE WM_SYSCOLORCHANGE, <POSTED, SYSTEM>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_ENDSESSION, <SYSTEM>
MP_BOOL bSessionEnding ;BOOL value
MP_LMBZ lParam ;unused
MESSAGE WM_SHOWWINDOW, <SYSTEM>
MP_BOOL bStatus ;BOOL value
MP_SHOWVALUE wShow ;** 0, SW_PARENTCLOSING or SW_PARENTOPENING
MP_WMBZ lParamHi ;unused
MESSAGE WM_CTLCOLOR
MP_HDC hDC ; child window DC
MP_HWND hWndChild ; LOWORD is handle to child window
MP_VALUE wType, CTLCOLOR_MAX
MESSAGE WM_WININICHANGE, <SYSTEM, POSTED>
MP_WMBZ wParam ;unused
MP_CLPSTR0 lpSectionName ;NULL used by some apps
MESSAGE WM_DEVMODECHANGE, <SYSTEM, POSTED>
MP_WMBZ wParam ;unused
MP_CLPSTR0 lpDeviceName ;NULL used by some apps
MESSAGE WM_ACTIVATEAPP, <SYSTEM>
MP_BOOL bActivate ;BOOL value
MP_HTASK0 hTask ;task handle of app. owning window
MP_WMBZ lParamHi ;unused
MESSAGE WM_FONTCHANGE, <SYSTEM, POSTED>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_TIMECHANGE, <SYSTEM, POSTED>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_CANCELMODE
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_SETCURSOR, <SYSTEM>
MP_HWND hWndCur ;handle to window containing cursor
MP_VALUE wHTCode, HT_MAX ;** hit test area codes. Range 0-17
MP_RVALUE wMsg, WM_MOUSEFIRST, WM_MOUSELAST ;mouse message number
MESSAGE WM_MOUSEACTIVATE, <SYSTEM>
MP_HWND hWndParent ;topmost parent of activated window
MP_VALUE wHTCode, HT_MAX ;** hit test area codes. Range 0-17
MP_RVALUE wMsg, WM_MOUSEFIRST, WM_MOUSELAST ;mouse message number
MESSAGE WM_CHILDACTIVATE, <SYSTEM>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_GETMINMAXINFO, <SYSTEM>
MP_WMBZ wParam ;unused
MP_CLP5POINTBUFFER lpPoints ;points to an array of 5 points
MESSAGE WM_PAINTICON, <SYSTEM>
MP_WORD wParam ;unused, but 3.0 passed 1 for some reason
MP_LMBZ lParam ;unused
MESSAGE WM_ICONERASEBKGND, <SYSTEM>
MP_HDC hDC ;DC of icon
MP_LMBZ lParam ;unused
MESSAGE WM_NEXTDLGCTL, <SYSTEM>
MP_WMNEXTDLGCTL wCtlFlg, bFlag ;** if lParam is 0 wParam is a flag
;otherwise it is the control handle
MESSAGE WM_SPOOLERSTATUS
MP_CONST wStatus,SMP_JOBSTATUS ;** set to SMP_JOBSTATUS
MP_WORD wJobs ;no. of jobs left in queue
MP_WMBZ wParamHi ;unused
MESSAGE WM_DRAWITEM
MP_WORD idHwnd ;hwnd id of item to be drawn
MP_CLPDRAWITEMSTRUCT lpDrawItem ;**
MESSAGE WM_MEASUREITEM
MP_WORD idHwnd ;hwnd id of item to be measured
MP_LPMEASUREITEMSTRUCT lpMeasureItem ;**
MESSAGE WM_DELETEITEM
MP_WORD idHwnd ;hwnd id of item to be deleted
MP_CLPDELETEITEMSTRUCT lpDeleteItem ;**
MESSAGE WM_VKEYTOITEM
MP_VKEY wVKey ;** virt. key code
MP_HWND hWndList ;handle to listbox window
MP_WORD wCaretPos ;caret position
MESSAGE WM_CHARTOITEM
MP_CHARVALUE wChar ;**
MP_HWND hWndList ;handle to listbox window
MP_WORD wCaretPos ;caret position
MESSAGE WM_SETFONT
MP_HFONT0 hFont ;handle to font or NULL
MP_BOOL bRedraw ;BOOL value
MP_WMBZ lParamHi ;unused
MESSAGE WM_GETFONT
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_QUERYDRAGICON
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_COMPAREITEM
MP_WORD idHwnd ;hwnd id of item to be compared
MP_CLPCOMPAREITEMSTRUCT lpCompareItem ;**
MESSAGE WM_COMPACTING
MP_WORD wCPUTimeRatio ;time currently spent compacting
MP_LMBZ lParam ;unused
MESSAGE WM_COMMNOTIFY ;?? not implemented yet.
MP_CID wCommID ;**
MP_LONG lParam
MESSAGE WM_NCCREATE, <SYSTEM>
MP_WMBZ wParam
MP_LPCREATESTRUCT lpCS
MESSAGE WM_NCDESTROY, <SYSTEM>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_NCCALCSIZE, <SYSTEM>
MP_BOOL fCalcClientOnly
MP_CLPRECT lpRect ;window rectangle coordinates
MESSAGE WM_NCHITTEST, <SYSTEM>
MP_WMBZ wParam ;unused
MP_int X
MP_int Y
MESSAGE WM_NCPAINT, <SYSTEM>
MP_HRGN01 hrgn
MP_LMBZ lParam ;unused
MESSAGE WM_NCACTIVATE, <SYSTEM>
MP_BOOL bActive ;BOOL value
MP_HWND0 hwndActDeact
MP_BOOL fIconic
MESSAGE WM_GETDLGCODE
MP_WORD msg
MP_CLPMSG0 lpMsg
MESSAGE WM_NCMOUSEMOVE
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_NCLBUTTONDOWN
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_NCLBUTTONUP
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_NCLBUTTONDBLCLK
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_NCRBUTTONDOWN
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_NCRBUTTONUP
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_NCRBUTTONDBLCLK
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_NCMBUTTONDOWN
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_NCMBUTTONUP
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_NCMBUTTONDBLCLK
MP_VALUE wHTCode, HT_MAX ;hit test area codes. Range 0-17
MP_POINT pt
MESSAGE WM_KEYDOWN
MP_VKEY wVKey ; virt. key code
MP_LONG lKeyData ; repeat count and flags
MESSAGE WM_KEYUP
MP_VKEY wVKey ; virt. key code
MP_LONG lKeyData ; repeat count and flags
MESSAGE WM_CHAR
MP_CHARVALUE wChar
MP_LONG lKeyData ; repeat count and flags
MESSAGE WM_DEADCHAR
MP_CHARVALUE wChar
MP_LONG lKeyData ; repeat count and flags
MESSAGE WM_SYSKEYDOWN
MP_VKEY wVKey ; virt. key code
MP_LONG lKeyData ; repeat count and flags
MESSAGE WM_SYSKEYUP
MP_VKEY wVKey ; virt. key code
MP_LONG lKeyData ; repeat count and flags
MESSAGE WM_SYSCHAR
MP_CHARVALUE wChar
MP_LONG lKeyData ; repeat count and flags
MESSAGE WM_SYSDEADCHAR
MP_CHARVALUE wChar
MP_LONG lKeyData ; repeat count and flags
MESSAGE WM_INITDIALOG
MP_HWND0 hCtrl ; handle of first child
MP_LONG lInitValue ; initialization value
; No validation of wParam & lParam because so many people do screwy
; things with the parameter. Also, since it's sent by the system
; almost all the time, validation will be of little help.
;
MESSAGE WM_COMMAND ;lParamLo is 0 => wParam is menu item.
MP_WORD wParam ;lParamHi is 1 => wParam is accelerator ID.
MP_LONG lParam ;Otherwise lParamLo is control handle, lParamHi
;is notification code and wParam is control ID.
MESSAGE WM_SYSCOMMAND
MP_SYSCOMMAND wSysCommand ;** SC_ code
MP_int X
MP_int Y
MESSAGE WM_TIMER
MP_WORD idTimer ;** timer ID
MP_LPFNTIMER0 lpTimerProc ;timer function or NULL
MESSAGE WM_HSCROLL
MP_VALUE wParam, SB_MAX ;** range 0-7
MP_WORD pos ;position
MP_HWND0 hwndCtl ;control handle if message is due
;to scrollbar control, otherwise
;unused
MESSAGE WM_VSCROLL
MP_VALUE wParam, SB_MAX ;** range 0-7
MP_WORD pos ;position
MP_HWNDW0 hwndCtl ;control handle if message is due
;to scrollbar control, otherwise
;unused. Make it a warning because
;Norton Utilities passes "random"
;numbers here.
MESSAGE WM_INITMENU
MP_HMENU hMenu ;handle of menu being init.
MP_LMBZ lParam ;unused
MESSAGE WM_INITMENUPOPUP
MP_HMENU hMenu ;handle of popup being init.
MP_WORD wIndex ;popup menu index
MP_BOOL bSysMenu ;BOOL value
MESSAGE WM_MENUSELECT
MP_WMMENUSELECT wHandle, wFlags ; **lParamLo has a combination of: MF_BITMAP
; MF_CHECKED, MF_DISABLED, MF_GRAYED,
; MF_MOUSESELECT, MF_OWNERDRAW, MF_POPUP
; and MF_SYSMENU or can be -1
; If MF_POPUP, wParam has popup handle
MESSAGE WM_MENUCHAR
MP_CHARVALUE wChar
MP_BIVALUE wMenuType, MF_POPUP, MF_SYSMENU ; ** either MF_POPUP or MF_SYSMENU
MP_HMENU hMenu ; handle to menu
MESSAGE WM_ENTERIDLE
MP_BIVALUE wType, MSGF_DIALOGBOX, MSGF_MENU
MP_HWND0 hwndIdle
MP_WMBZ lParamHi ; unused
MESSAGE WM_MOUSEMOVE
MP_FLAGS wFlags, MK_VALID ;** one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_LBUTTONDOWN
MP_FLAGS wFlags, MK_VALID ;one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_LBUTTONUP
MP_FLAGS wFlags, MK_VALID ;one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_LBUTTONDBLCLK
MP_FLAGS wFlags, MK_VALID ;one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_RBUTTONDOWN
MP_FLAGS wFlags, MK_VALID ;one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_RBUTTONUP
MP_FLAGS wFlags, MK_VALID ;one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_RBUTTONDBLCLK
MP_FLAGS wFlags, MK_VALID ;one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_MBUTTONDOWN
MP_FLAGS wFlags, MK_VALID ;one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_MBUTTONUP
MP_FLAGS wFlags, MK_VALID ;one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_MBUTTONDBLCLK
MP_FLAGS wFlags, MK_VALID ;one or more of the MK_ flags
MP_int X
MP_int Y
MESSAGE WM_PARENTNOTIFY
MP_WORD wValue ;** WM_CREATE, WM_DESTROY or WM_?BUTTONDOWN
MP_WORD hwndChildOrX ; hwnd or X, depending on message
MP_WORD idOrY ; id or Y
MESSAGE WM_MDICREATE
MP_WMBZ wParam ; unused
MP_CLPMDICREATESTRUCT lpMCS ; **
MESSAGE WM_MDIDESTROY
MP_HWND hWndChild ; MDI child window
MP_LMBZ lParam ; unused
MESSAGE WM_MDIACTIVATE
MP_HWND01 hwnd ; ** can be 0, 1 or window handle
MP_HWND0 hWndChild1
MP_HWND0 hWndChild2
MESSAGE WM_MDIRESTORE
MP_CTRLID wID
MP_LMBZ lParam ; unused
MESSAGE WM_MDINEXT
MP_HWND0 hWndStart ; Goto next guy from this hwnd; NULL if active
MP_BOOL fPrev ; if TRUE, goto PREVIOUS instead of NEXT
MP_WMBZ lParamHi ; unused
MESSAGE WM_MDIMAXIMIZE
MP_CTRLID wID
MP_LMBZ lParam ; unused
MESSAGE WM_MDITILE
MP_FLAGS wFlags, MDITILE_VALID ; **MDITILE_HORIZONTAL|MDITILESKIPDISABLED
MP_LMBZ lParam ; unused
MESSAGE WM_MDICASCADE
MP_FLAGS wFlags, MDITILE_VALID ; MDITILESKIPDISABLED
MP_LMBZ lParam ; unused
MESSAGE WM_MDIICONARRANGE
MP_WMBZ wParam ; unused
MP_LMBZ lParam ; unused
MESSAGE WM_MDIGETACTIVE
MP_WMBZ wParam ; unused
MP_LMBZ lParam ; unused
MESSAGE WM_MDISETMENU
MP_BOOL bRefresh
MP_HMENU0 hMenuFrame
MP_HMENU0 hMenuPopup
MESSAGE WM_DROPFILES ; ?? not implemented yet.
MP_WORD wParam
MP_LMBZ lParam ; unused
MESSAGE WM_CUT
MP_WMBZ wParam ; unused
MP_LMBZ lParam ; unused
MESSAGE WM_COPY
MP_WMBZ wParam ; unused
MP_LMBZ lParam ; unused
MESSAGE WM_PASTE
MP_WMBZ wParam ; unused
MP_LMBZ lParam ; unused
MESSAGE WM_CLEAR
MP_WMBZ wParam ; unused
MP_LMBZ lParam ; unused
MESSAGE WM_UNDO
MP_WMBZ wParam ; unused
MP_LMBZ lParam ; unused
MESSAGE WM_RENDERFORMAT
MP_ATOM wClipFmt
MP_LMBZ lParam ; unused
MESSAGE WM_RENDERALLFORMATS
MP_WMBZ wParam ; unused
MP_LMBZ lParam ; unused
MESSAGE WM_DESTROYCLIPBOARD
MP_WMBZ wParam ; unused
MP_LMBZ lParam ; unused
MESSAGE WM_DRAWCLIPBOARD
MP_HWND0 hWndClipboardOwner ; handle to current clipboard owner
MP_LMBZ lParam ; unused
MESSAGE WM_PAINTCLIPBOARD
MP_HWNDCLIP hWnd ;**handle to clipboard app. window
MP_GHANDLE hPS ;handle of PAINTSTRUCT struct.
MP_WMBZ lParamHi
MESSAGE WM_VSCROLLCLIPBOARD
MP_HWNDCLIP hWndClip ;handle to clipboard app. window
MP_VALUE wSBCode, SB_MAX ;** range 0-7
MP_WMBZ lParamHi ;unused
MESSAGE WM_SIZECLIPBOARD
MP_HWNDCLIP hWndClip ;handle to clipboard app. window
MP_GHANDLE hRect ;handle of RECT
MP_WMBZ lParamHi ;unused
MESSAGE WM_ASKCBFORMATNAME
MP_LPBUFFERX nCount, lpBuffer
MESSAGE WM_CHANGECBCHAIN
MP_HWND hWndRemove ; window being removed
MP_HWND0 hWndNext ; next window in chain
MP_WMBZ lParamHi ;unused
MESSAGE WM_HSCROLLCLIPBOARD
MP_HWNDCLIP hWndClip ;handle to clipboard app. window
MP_VALUE wSBCode, SB_MAX ;range 0-7
MP_WMBZ lParamHi ;unused
MESSAGE WM_QUERYNEWPALETTE
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE WM_PALETTECHANGED
MP_HWND hWnd ;Window that caused palette change
MP_LMBZ lParam ;unused
MESSAGE WM_POWER
MP_VALUE wPower, PWR_MAX ;power management code
MP_LMBZ lParam ;unused
;-----------------------
; Windows DDE messages
MESSAGE WM_DDE_INITIATE
MP_HWND hWndSend ;sender window
MP_ATOM0 aApplication ;** app. with whom conversation is required
MP_ATOM0 aTopic ;conversation topic
MESSAGE WM_DDE_TERMINATE, <POSTED>
;MP_HWNDW0 hWndSend ;sender window (warn if bogus)
MP_WORD hwndSend ;NOTE: can be an invalid window handle
; app exit time, so no validation.
MP_LMBZ lReserved ;reserved
MESSAGE WM_DDE_ADVISE, <POSTED>
MP_HWND hWndSend ;sender window
MP_GHANDLEDDE hOptions ;** object allicated with GMEM_DDE_SHARE opt.
MP_ATOM aItem ;** global atom
MESSAGE WM_DDE_UNADVISE, <POSTED>
MP_HWND hWndSend ;sender window
MP_ATOM0 aItem ;data for which req. is being retracted
MP_ATOM0 cfFormat ;
MESSAGE WM_DDE_ACK, <POSTED>
MP_HWND hWndSend ;sender window
MP_LONG lParam ;lParam depends on the type of msg. being
;ack. Typically it is app-specific status flags.
MESSAGE WM_DDE_DATA, <POSTED>
MP_HWND hWndSend ;sender window
MP_GHANDLEDDE0 hData ;** can be null
MP_ATOM aItem ;global atom identifying data
MESSAGE WM_DDE_REQUEST, <POSTED>
MP_HWND hWndSend ;sender window
MP_ATOM cfFormat ;std. or registered clipboard format.
MP_ATOM aItem ;atom identifying item being requested.
MESSAGE WM_DDE_POKE, <POSTED>
MP_HWNDW hWndSend ;sender window, warn NULL/bad
MP_GHANDLEDDE0 hData ;global data and other inf. allow NULL
MP_ATOM aItem ;global atom identifying data
; Removed the "<POSTED>" to fix Bug #14828
;MESSAGE WM_DDE_EXECUTE, <POSTED>
MESSAGE WM_DDE_EXECUTE
MP_HWNDW hWndSend ;sender window. Must warn for VirtualMonitor app
MP_WMBZ wReserved
;MP_GHANDLEDDE hCommands ;global obj. with commands to be executed.
MP_GHANDLEDDEW hCommands ; Legacy Tutorial uses an atom. So, we warn
;------------------------
; dialog manager messages
; in DLGMGR.C
MESSAGE DM_GETDEFID
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE DM_SETDEFID
MP_WORD wIdItem ;new ID of item
MP_LMBZ lParam ;unused
MESSAGE_CLASS_END
;----------------
; Button messages
; in BTNCTL.C
MESSAGE_CLASS BUTTON
MESSAGE BM_GETCHECK
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE BM_SETCHECK
MP_BOOL bCheck ;BOOL value
MP_LMBZ lParam ;unused
MESSAGE BM_GETSTATE
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE BM_SETSTATE
MP_BOOL bHilite ;BOOL value
MP_LMBZ lParam ;unused
MESSAGE BM_SETSTYLE
MP_FLAGS wFlags, BS_VALID ;** button control style
MP_BOOL bRedraw ;BOOL value
MP_WMBZ lParamHi ;unused
MESSAGE_CLASS_END
;-------------------------------------------
; combobox messages
; in COMBO.C
;
; MP_CBINDEX*, MP_CBITEMHEIGHT*
; MP_CLPSTRCB and MP_EDITPOS assume hWnd.
MESSAGE_CLASS COMBOBOX
MESSAGE CB_GETEDITSEL
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE CB_LIMITTEXT
MP_WORD wBytes ;max. number of bytes
MP_LMBZ lParam ;unused
MESSAGE CB_SETEDITSEL
MP_WMBZ wParam ;unused
MP_EDITPOS wStart ;** start of edit selection
MP_EDITPOS wEnd ;end of edit selection
MESSAGE CB_ADDSTRING
MP_WMBZ wParam ;unused
MP_CLPSTRCB lpString ;** if combobox is ownerdraw, then CLPSTR
;only if style includes CB_HASSTRINGS
MESSAGE CB_DELETESTRING
MP_CBINDEX wIndex ;** index of item to be deleted
MP_LMBZ lParam ;unused
MESSAGE CB_DIR
MP_FLAGS wFlags,DOSATTR_VALID ;** DOS file attributes (0 valid)
MP_CLPSTR lpFileName ;filename
MESSAGE CB_GETCOUNT
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE CB_GETCURSEL
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE CB_GETLBTEXT
MP_CBINDEX wIndex
MP_LPSTRCB lpString ; pointer to DWORD if !CB_HASSTRINGS
MESSAGE CB_GETLBTEXTLEN
MP_CBINDEX wIndex ;index of item
MP_LMBZ lParam ;unused
MESSAGE CB_INSERTSTRING
MP_CBINDEX wIndex ;index of item
MP_CLPSTRCB lpString ;** if combobox is ownerdraw, then CLPSTR
;only if style includes CB_HASSTRINGS
MESSAGE CB_RESETCONTENT
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE CB_FINDSTRING
MP_CBINDEXFFFF wIndex ;** index of item. Can be -1
MP_CLPSTRCB lpString ;combobox is ownerdraw, then CLPSTR
;only if style includes CB_HASSTRING
MESSAGE CB_SELECTSTRING
MP_CBINDEXFFFF wIndex ;index of item. Can be -1
MP_CLPSTRCB lpString ;combobox is ownerdraw, then CLPSTR
;only if style includes CB_HASSTRINGS
MESSAGE CB_SETCURSEL
MP_CBINDEXFFFF wIndex ;index of item. Can be -1
MP_LMBZ lParam ;unused
MESSAGE CB_SHOWDROPDOWN
MP_BOOL bDisplay ;BOOL value
MP_LMBZ lParam ;unused
MESSAGE CB_GETITEMDATA
MP_CBINDEX wIndex ;index of item.
MP_LMBZ lParam ;unused
MESSAGE CB_SETITEMDATA
MP_CBINDEX wIndex ;index of item.
MP_LONG lParam ;new value of item (can be anything)
MESSAGE CB_GETDROPPEDCONTROLRECT
MP_WMBZ wParam ;unused
MP_LPRECT lpRect
MESSAGE CB_SETITEMHEIGHT
MP_CBITEMHEIGHTFFFF wIndex ;** index or -1 if style is CBS_OWNERDRAWVARIABLE
;must be 0 otherwise
MP_WORD wHeight
MP_WMBZ lParamHi ;unused
MESSAGE CB_GETITEMHEIGHT
MP_CBITEMHEIGHTFFFF wIndex ;** index or -1 if style is CBS_OWNERDRAWVARIABLE
;must be 0 otherwise
MP_LMBZ lParam ;unused
MESSAGE CB_SETEXTENDEDUI
MP_BOOL bSet ;BOOL value
MP_LMBZ lParam ;unused
MESSAGE CB_GETEXTENDEDUI
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE CB_GETDROPPEDSTATE
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE CB_FINDSTRINGEXACT
MP_CBINDEXFFFF wIndex ;** index of item. Can be -1
MP_CLPSTRCB lpString ;combobox is ownerdraw, then CLPSTR
;only if style includes CB_HASSTRING
MESSAGE_CLASS_END
;---------------------------------------------
; edit control messages
; in EDITEC.CML.C and EDITSL.C
;
; MP_EDITPOS, MP_EMLINES, MP_EMLINE*, MP_EMCHARPOS
; MP_CLPSTRLB and MP_CHARINDEX* assume hWnd.
;----- in EDITEC.C (processed by commom edit control handler)---------
MESSAGE_CLASS EDIT
MESSAGE EM_GETSEL
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE EM_GETRECT
MP_WMBZ wParam ;unused
MP_LPRECT lpRect ;ptr. to RECT
MESSAGE EM_GETMODIFY
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE EM_SETMODIFY
MP_WORD wValue ;new value for modify flag
MP_LMBZ lParam ;unused
MESSAGE EM_GETLINECOUNT
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE EM_LIMITTEXT
MP_WORD wBytes ;max. bytes that can be entered (can be 0)
MP_LMBZ lParam ;unused
MESSAGE EM_CANUNDO
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE EM_EMPTYUNDOBUFFER
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE EM_SETPASSWORDCHAR
MP_WORD wChar ;char to be displayed
MP_LMBZ lParam ;unused
MESSAGE EM_GETFIRSTVISIBLELINE
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE EM_SETREADONLY
MP_BOOL bSet ;BOOL value
MP_LMBZ lParam ;unused
MESSAGE EM_GETPASSWORDCHAR
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE EM_GETWORDBREAKPROC
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
;---- in EDITML.C (processed by multiline control handler) ------------
MESSAGE EM_SETRECT, <MLCONLY> ;only applicable to multiline controls
MP_WMBZ wParam ;unused
MP_CLPRECT lpRect ;ptr. to new RECT dimensions
MESSAGE EM_SETRECTNP, <MLCONLY>;only applicable to multiline controls
MP_WMBZ wParam ;unused
MP_CLPRECT lpRect ;ptr. to new RECT dimensions
MESSAGE EM_SCROLL, <MLCONLY>
MP_VALUE wScroll, SB_LPMAX ;** range 0-4 (only SB_LINEUP, SB_LINEDOWN,
;SB_PAGEUP and SB_PAGEDOWN)
MP_LMBZ lParam ;unused
MESSAGE EM_LINESCROLL, <MLCONLY>
MP_WMBZ wParam ;unused
MP_EMCLINE nLines ;** number of lines to scroll vertically
MP_EMCHARPOS nPos ;** char positions to scroll horizontally
MESSAGE EM_LINEINDEX, <MLCONLY>
MP_EMLINEFFFF wLineNumber ;** Required line number. Can be -1
MP_LMBZ lParam ;unused
MESSAGE EM_SETHANDLE, <MLCONLY>
MP_LHANDLE wHandle ;handle in app's DS
MP_LMBZ lParam ;unused
MESSAGE EM_GETHANDLE, <MLCONLY>
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE EM_FMTLINES, <MLCONLY>
MP_BOOL bRemoveEOL ;BOOL value
MP_LMBZ lParam ;unused
MESSAGE EM_LINEFROMCHAR, <MLCONLY>
MP_CHARINDEXFFFF wIndex ;**index of char from beginning of text (or -1)
MP_LMBZ lParam ;unused
MESSAGE EM_SETWORDBREAK, <MLCONLY> ;?? not implemented
MP_WMBZ wParam ;unused
MP_LPFNWORDBREAK0 lpfnWordBreak ;WordBreak callback function
MESSAGE EM_SETTABSTOPS, <MLCONLY>
MP_LPTSBUFFER0 wTabs, lpTabs ;** wParam: number of tab stops
;lParam: ptr. to array of int. values.
;lParam is a ptr. only if wParam is not
;0 or 1. If wParam is 0, lParam can be NULL.
;in EDITML.C and EDITSL.C (processed by single line and
;multiline control handlers) --------------------------------
MESSAGE EM_SETSEL
MP_BOOL bDontScrollToView ;for 3.1 apps, don't scroll caret into view if set
MP_int wStartPos ;start of edit selection
MP_int wEndPos ;end of edit selection
MESSAGE EM_LINELENGTH
MP_EMLINEFFFF wLine ;Required line number. Can be -1
MP_LMBZ lParam ;unused
MESSAGE EM_GETLINE
MP_EMLINE wLine ;Required line number.
MP_LPBUFFERCNT lpBuffer ;** first WORD of buffer contains count
MESSAGE EM_REPLACESEL
MP_WMBZ wParam ;unused
MP_CLPSTR lpString ;replacement string
MESSAGE EM_UNDO
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE EM_SETWORDBREAKPROC ; New for Win3.1
MP_WMBZ wParam ;unused
MP_LPFNWORDBREAK0 lpfnWordBreak ;WordBreak callback function
MESSAGE_CLASS_END
;----------------------------------------------------
; Listbox messages
; processed in LB1.ASM. Helper routines in LBOXCTL?.C
;
; MP_LBINDEX* and MP_LBLPBUFFERINDEX assume hWnd
MESSAGE_CLASS LISTBOX
MESSAGE LB_ADDSTRING
MP_WMBZ wParam ;unused
MP_CLPSTRLB lpString ;** if listbox is ownerdraw, then CLPSTR
;only if style includes LB_HASSTRINGS
MESSAGE LB_INSERTSTRING
MP_LBINDEXFFFF wIndex ;** position index (can be -1)
MP_CLPSTRLB lpString ;if listbox is ownerdraw, then CLPSTR
;only if style includes LB_HASSTRINGS
MESSAGE LB_DELETESTRING
MP_LBINDEX wIndex ;position index
MP_LMBZ lParam ;unused
MESSAGE LB_RESETCONTENT
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE LB_SETSEL
MP_BOOL bHilite ;BOOL value
MP_LBINDEXFFFF wIndex ;position index (can be -1)
MP_WORD lParamHi ;unused (but may be -1 due to sign extension)
MESSAGE LB_SETCURSEL
MP_LBINDEXFFFF wIndex ;position index (can be -1)
MP_LMBZ lParam ;unused
MESSAGE LB_GETSEL
MP_LBINDEX wIndex ;position index
MP_LMBZ lParam ;unused
MESSAGE LB_GETCURSEL
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE LB_GETTEXT
MP_LBLPBUFFERINDEX wIndex, lpBuf ;** wParam:position index
;lParam:ptr. to buffer to recieve string.
MESSAGE LB_GETTEXTLEN
MP_LBINDEX wIndex ;position index
MP_LMBZ lParam ;unused
MESSAGE LB_GETCOUNT
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE LB_SELECTSTRING
MP_LBINDEXFFFF wIndex ;index of item. Can be -1
MP_CLPSTRLB lpString ;if listbox is ownerdraw, then CLPSTR
;only if style includes LB_HASSTRINGS
MESSAGE LB_DIR
MP_FLAGS wFlags,DOSATTR_VALID ;** DOS file attributes (0 valid)
MP_CLPSTR lpString ;filename
MESSAGE LB_GETTOPINDEX
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE LB_FINDSTRING
MP_LBINDEXFFFF wIndex ;index of item. Can be -1
MP_CLPSTRLB lpString ;if listbox is ownerdraw, then CLPSTR
;only if style includes LB_HASSTRINGS
MESSAGE LB_GETSELCOUNT, <MULTISELONLY>
;applicable only to LBS_MULTIPLESEL listboxes
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE LB_GETSELITEMS, <MULTISELONLY>
MP_LPWBUFFERX wCount, lpBuf ;** lpBuf is int. buffer
MESSAGE LB_SETTABSTOPS
MP_LPTSBUFFER0 wTabs, lpTabs ;wParam: number of tab stops
;lParam: ptr. to array of int. values.
;lParam is a ptr. only if wParam is not
;0 or 1. If wParam is 0, lParam can be NULL.
MESSAGE LB_GETHORIZONTALEXTENT
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE LB_SETHORIZONTALEXTENT
MP_WORD wPixels ;no. pixels by which lbox can be scrolled.
MP_LMBZ lParam ;unused
MESSAGE LB_SETCOLUMNWIDTH, <MULTICOLONLY>
;only sent to LBS_MULTICOLUMN listboxes
MP_WORD wWidth ;width in pixels of all columns
MP_LMBZ lParam ;unused
MESSAGE LB_SETTOPINDEX
MP_LBINDEX wIndex ;position index
MP_LMBZ lParam ;unused
MESSAGE LB_GETITEMRECT
MP_LBINDEX wIndex ;position index
MP_LPRECT lpRect ;client coords. of item
MESSAGE LB_GETITEMDATA
MP_LBINDEX wIndex ;position index
MP_LMBZ lParam ;unused
MESSAGE LB_SETITEMDATA
MP_LBINDEX wIndex ;position index
MP_LONG lParam ;new value for item
MESSAGE LB_SELITEMRANGE, <MULTISELONLY> ;
MP_BOOL bSelect ;BOOL value
MP_LBINDEX wFirstIndex ;start index of selection
MP_LBINDEX wLastIndex ;end index of selection
MESSAGE LB_SETCARETINDEX
MP_LBINDEX wIndex
MP_BOOL fNoScrollIntoView
MP_WMBZ lParamHi ;unused
MESSAGE LB_GETCARETINDEX
MP_WMBZ wParam ;unused
MP_LMBZ lParam ;unused
MESSAGE LB_SETITEMHEIGHT, <OWNERDRAWVARONLY> ;only processed by
;listboxes with LB_OWNERDRAWVARIABLE style
MP_LBINDEX wIndex
MP_WORD wHeight
MP_WMBZ lParamHi ;unused
MESSAGE LB_GETITEMHEIGHT, <OWNERDRAWVARONLY>
MP_LBINDEX wIndex
MP_LMBZ lParam ;unused
MESSAGE LB_FINDSTRINGEXACT
MP_LBINDEXFFFF wIndex ;index of item. Can be -1
MP_CLPSTRLB lpString ;if listbox is ownerdraw, then CLPSTR
;only if style includes LBS_HASSTRINGS
MESSAGE_CLASS_END
;
; Static control messages
;
MESSAGE_CLASS STATIC
MESSAGE STM_SETICON
MP_HICON0 hIcon
MP_LMBZ lParam
MESSAGE STM_GETICON
MP_WMBZ wParam
MP_LMBZ lParam
MESSAGE_CLASS_END