The message means a notification issued by Windows to tell the application a matter. For example, click the mouse, change the window size, press a key on the keyboard to send Windows to your application. The message itself is passed to the application as a record, and this record contains the type of message and other information. For example, for messages generated by clicking on the mouse, this record contains the coordinates when clicking the mouse. This record type is called TMSG, which is declared in the Windows unit: typeTMSG = Packed RecordhWnd: hwnd; / / window handle Message: uint; / / message constant identifier WPARAM: WPARAM; // 32-bit message specific additional information LPARAM: LPARAM; / / 32-bit message Specific additional information Time: DWORD; / / message creation time PT: tpoint; / / message creation mouse position END; what is there? Do you feel that the information in a message record is like Greek? If this is the case, then take a look at the explanation below: HWND 32-bit window handle. The window can be any type of screen object because Win32 is able to maintain the handle of most visual objects (windows, dialogs, buttons, edit boxes, etc.). Message is used to distinguish constant values for other messages, which may be predefined in the Windows unit, or they can be custom constants. WPARAM is usually a constant value related to messages or a handle of a window or control. LPARAM is usually a pointer to data in memory. Since W p A r a m, L P A R A M and P O i N t E r are 3 2 bits, so they can be converted between them.
WM_NULL = 0000; WM_CREATE = $ 0001; application creates a window WM_DESTROY = $ 0002; one window is destroyed WM_MOVE = $ 0003; moving a window WM_SIZE = $ 0005; change a window of the size WM_ACTIVATE = $ 0006; one window is activated or lost activation state; WM_SETFOCUS = $ 0007; WM_KILLFOCUS = $ 0008 after getting focus; lost focus WM_ENABLE = $ 000A; change Enable Status WM_SETREDRAW = $ 000B; Settings Window can redraw WM_SETTEXT = $ 000c; the application sends this message to set the text WM_Gettext = $ 000d; application sends this message to copy the text to the buffer wm_gettextLength = $ 000E for the corresponding window; get the length of the text related to a window (not including empty characters) WM_Paint = $ 000F; ask one window to call yourself WM_CLOSE = $ 0010; send a signal WM_QUERYENDSESSION = $ 0011 when a window or application is to be turned off; when the user selects the end dialog or the program you call the exitwindows function wm_quit = $ 0012; used to end the program to run or when the program calls PostquitMessage function wm_quitMessage function wm_quitMessage function WM_QUERYOPEN = $ 0013; When the user window restores the previous size position, send this message to an icon WM_ERASEBKGND = $ 0014; when the window background must be erased (case change the size of the window) WM_SYSCOLORCHANGE = 0015; send this message when the system color changes, send this message Give all top windows WM_ENDSESSION = $ 0016; After the system process issues a WM_QueryEndSession message, this message is sent to the application, informs it to end WM_SYSTEMERROR = $ 0017; WM_SHOWINDOW = 0018; when the hidden or display window is sent to this message to this message to this message to this message WM_ACTIVATEAPP = $ 001c; Send this message which window is activated, which is non-activated; WM_FONTCHANGE = 001D; send this message when the system's font resource library changes to all top windows WM_TIMECHANGE = $ 001E; when the system is time variation Send this message to all top windows WM_CANCELMODE = $ 001F; send this message to cancel Some ongoing touch state (operation) WM_SETCURSOR = $ 0020; if the mouse causes the cursor to move in a window and the mouse input is not captured, send a message to a window WM_MouseActivate = $ 0021; when the cursor is in a non-activated In the window, the user is in pressing a key in the mouse to send this message to the current window wm_childactivate = 0022; send this message to the MDI sub-window When the user clicks on this window, or when the window is activated, change, change the size WM_QUEESYNC = $ 0023; This message is sent by the computer-based training program, separating the user input message wm_getminMaxInfo = $ 0024 via the WH_Journalpalyback hook program; this message is sent to the window When it will change the size or position; WM_PaintICON = $ 0026; send it to the minimum window when it The icon will be saved WM_ICONERASEBKGND = $ 0027; this message is sent to a minimization window, only when it is drawing the icon, its background must be retransmond WM_NEXTDLGCTL = $ 0028;
Send this message to a dialog program to change the focus position wm_spoolerstatus = $ 002a; whenever the print management column is added or decreases this message WM_DRAWITEM = 002B; when Button, ComboBox, Listbox, Menu's visual appearance change Send this message to the owner of these empty pieces WM_MeasureItem = $ 002c; when Button, Combo Box, List Box, List View Control, or Menu Item is created, send this message to the control owner WM_DELETEITETEM = $ 002D; when the list box or combo box is destroyed or when certain items are deleted by LB_DELETESTRING, LB_RESETCONTENT, CB_DELETESTRING, or CB_RESETCONTENT news WM_VKEYTOITEM = $ 002E; this message is sent to a LBS_WANTKEYBOARDINPUT style of its owner in response to WM_KEYDOWN message WM_CHARTOITEM = $ 002F; This message is sent to his owner by a list box of LBS_WANTKEYBOARDINPUT to respond to WM_CHAR messages WM_SETFONT = $ 0030; when the text is drawn, the program sends this message to get the color wm_getfont = $ 0031 you want to use; the application sends this message to get the current control drawing Text fonts WM_SETHOTKEY = $ 0032; Application Send this message allows a window to associate with a hotkey WM_GETHOTKEY = $ 0033; the application sends this message to determine if the hotkey is related to the associated WM_QueryDragicon = $ 0037; this message is sent to the smallest The window, when this window will be dragged and dropped, it is not defined in its class, the application can return an icon or cursor handle, when the user drags and drop icon, the system displays this icon or cursor WM_CompareItem = $ 0039; send this message Determination of the relative position of ComboBox or ListBox added WM_GETOBJECT = $ 003d; WM_Compacting = $ 0041; Show memory has rarely wm_windowposchanging = $ 0046; send this message to the size and location of the window to call the SetWindowPos function or Other window management functions WM_WINDOWPOSCHANGE D = $ 0047; Send this message to the size and location of the window have been changed, call the SETWINDOWPOS function or other window management function wm_power = $ 0048; (for 16-bit Windows) When the system will send this message when the system will enter the pause WM_copyData = 004A; send this message when an application is delivered to another application WM_CANCELJournall = $ 004B; when a user cancels the program log activation status, submit this message to the program WM_NOTIFY = $ 004E; when a control When an event has occurred or this control needs to get some information, send this message to its parent window WM_INPUTLANGCHANGEREQUEST = $ 0050; when the user selects a kind of input language, or the hotkey of the language changes WM_INPUTLANGCHANGE = $ 0051; when the platform is already After changing this message to the affected top window wm_tcard = $ 0052; send this message when the program has initialized the Windows Help routine, send this message to the application WM_HELP = $ 0053; This message shows that the user presses F1, if a menu is activated Just send this message, this message is associated with the menu, otherwise send a window with focus, if there is no focus,
Send this message to the currently activated window WM_USERCHANGED = $ 0054; send this message to all windows when the user has already logged in or exits, when the user logs in or exits, the system updates the user's specific setup information, when the user update, the system is immediately Send this message; WM_NOTIFORMAT = 0055; public control, custom control, and their parent window to determine that the control is using ansi or a Unicode structure in the WM_NOTIFY message, using this control to make a control and its parent control Performing mutual communication WM_CONTEXTMENU = $ 007b; send this message to this message to this message when the user has a window, send this message to this message to change this message to that message when the calling setWindowlong function will change the style of one or more windows. WM_StyleChanged = 007d; send this message to that message to the window wm_displaychange = $ 007e after calling the setWindowlong function one or more windows; send this message to all windows WM_GETICON = $ 007f after the resolution change changes; this message is sent Give a window to return to a big icon or small icon for a window; wm_seticon = $ 0080; program sends this message to let a new big icon or small icon associate with a window; WM_NCCREATE = 0081; When the window is first created, this message is sent before the WM_CREATE message is sent; WM_NCDESTROY = $ 0082; This message notifies a window, the non-client area is destroying WM_NCCALCSIZE = $ 0083; when a window's customer area must be asked This message wm_nchittest = 0084; // Move the mouse, press and hold or release the mouse when it occurs when the program sends this message to a window When it (window) frame must be drawn; wm_ncactivate = 0086; this message is sent Some windows are only changed when its non-customer district needs to be changed. WM_GETDLGCODE = $ 0087; send this message to a control associated with the dialog program, Widdows control orientation keys and TAB keys make input into enter This control responds to the WM_GETDLGCODE message, the application can treat him as a special input control and can handle it WM_NCMOUSEMOVE = $ 00A0; when the cursor is moving this message to this message to this message to this message // Non-client To: the title bar of the form and the side frame of the window Wm_nclbuttondown = $ 00A1; Submit this message when the cursor is pressed at the non-customer area of a window to submit this message WM_nclButtonUp = $ 00A2; when the user releases the left mouse button, the cursor is sent to the non-client zone ten; wm_nclbuttondblClk = $ 00A3; When the user double-click the left mouse button, the cursor is sent to the non-client zone 10. WM_NCRBUTTONDOWN = $ 00A4; when the user presses the mouse button, the cursor is sent to the window's non-client district when the cursor is sent to the window WM_ncrbuttonup = $ 00 A5; When the user releases the mouse button while sending this message when the cursor is in the non-client district of the window, the message is sent this message WM_ncrButtonDBLCLK = $ 00A6; when the user doubles the mouse button, the cursor is sent in the non-client zone 10 Send this message wm_ncmbuttondown = $ 00A7; when the user Press the mouse button and send this message when the cursor is in the non-client district of the window. WM_NCMBUTTONUP = $ 00A8; when the user releases the mouse button while the cursor is sent to the window of the window WM_NCMBUTTONDBLCLK = $ 00A9; when the user doubles The mouse button also sends this message when the cursor is in the non-client district of the window WM_KEYFIRST = $ 0100; WM_KEYDOWN =
$ 0100; // Press a key WM_KEYUP = $ 0101; // Release a key WM_CHAR = $ 0102; // Press a key and have issued WM_KEYDOWN, WM_KEYD IN, WM_KEYUP message WM_DEADCHAR = $ 0103; send this message when translating the WM_KEYUP message with TranslateMee Give the window wm_syskeydown = $ 0104; when the user pressed the Alt button, submit this message to the window with the focus; wm_syskeyup = $ 0105; when the user releases a button while the Alt key is submitted to submit this message with the focus window WM_SYSCHAR = $ 0106; submitted when WM_SYSKEYDOWN message after being TRANSLATEMESSAGE function to translate the message to the window WM_SYSDEADCHAR has focus = $ 0107; when WM_SYSKEYDOWN message after being TRANSLATEMESSAGE function translated sends this message to the window with the focus WM_KEYLAST = $ 0108; WM_INITDIALOG = $ 0110; Send this message before a dialog program is displayed to it, usually use this message to initialize the control and perform other tasks WM_COMMAND = $ 0111; when the user selects a menu command item or when a control sends a message to the parent window A shortcut is translated wm_syscommand = $ 0112; when a user selects a command to the window menu or when the user selects maximizes or minimizes the message, the message will receive this message WM_TIMER = $ 0113; // The timer event WM_HSCROLL = $ 0114; When a window standard horizontal scroll bar generates a scroll event to send this message to that window, also sent to the control WM_VSCROLL = $ 0115 with it; when a window standard vertical scroll bar generates a scroll event to send this message to that window, Send it to the control WM_INITMENU = $ 0116; when a menu is to be activated, it occurs in a user menu bar or pressing a menu button, which allows the program to change the menu WM_INITMENUPOPUPUP = $ 0117 This message will be sent when a drop-down menu or submenu will be activated, which allows the program to change the menu before it is displayed, not to change all WM_MENUSELECT = $ 011f; send this message to the menu when the user selects a menu item (Generally the window) WM_MenuChar = $ 0120; When the menu has been activated by the user (different from the accelerator), send this message to the menu Owner; wm_enterder = $ 0121; send this message to the owner of this message when a modal dialog or menu enters an on-load state, a modal dialog or menu enters an air-load status is to process one or more previous after the message is not a message of its queue waiting WM_MENURBUTTONUP = $ 0122; WM_MENUDRAG = $ 0123; WM_MENUGETOBJECT = $ 0124; WM_UNINITMENUPOPUP = $ 0125; WM_MENUCOMMAND = $ 0126; WM_CHANGEUISTATE = $ 0127; WM_UPDATEUISTATE = $ 0128; WM_QUERYUISTATE = $ 0129; WM_CTLCOLORMSGBOX = $ 0132; draw message box windows Before sending this message to the owner window of the message box, by responding to this message, the owner window can set the text and background color wm_ctlcoloredit = $ 0133; when an editing control is used by using the handle of the given related display device; This message will be sent to the parent window to send this message; by responding to this message,
Owner window You can set the edit box for text and background color wm_ctlcolorlistbox = $ 0134 by using a given relevant display device; when a list box control will be drawn before you send this message to its parent window; respond to this message The owner window can set the list box for text and background color wm_ctlcolorbtn = $ 0135 by using a given relevant display device; when a button control will be drawn, send this message to the parent window; by responding to this message The owner window can set the text and background color wm_ctlcolordlg = $ 0136 by using a given relevant display device; when a dialog control will be drawn before sending this message to the parent window; by response to this Message, the owner window can set the text background color WM_CTLCOLORSCROLLBAR = $ 0137 by using a given related display device; when a scroll bar control will be drawn, send this message to its parent window; by response to this Message, the owner window can set the background color WM_CTLCOLORSTATIC = $ 0138 of the scroll bar by using the handle of a given related display device; when a static control will be drawn to the parent window; by responding to this message, The owner window can set the text and background color wm_mousefirst = $ 0200; WM_MouseMove = $ 0200; // mobile mouse wm_lbuttondown = $ 0201; // Press the left mouse button WM_LButtonup = $ 0202; // release the left mouse button WM_LBUTTONDBLCLK = $ 0203; // double-click the left mouse button WM_RBUTTONDOWN = $ 0204; // press the right mouse button WM_RBUTTONUP = $ 0205; // release the right mouse button WM_RBUTTONDBLCLK = $ 0206; // Double-click the right mouse button WM_MBUTTONDOWN = $ 0207; // Press the mouse button WM_MBUTTONUP = $ 0208; // Release the mouse button WM_MBUTTONDBLCLK = $ 0209; // Double click on the mouse button WM_MouseWheel = $ 020A; send this message when the mouse wheel rotates WM_MouseLast = $ 020A; WM_ParentNotify = $ 0210; When the MDI sub-window is created or destroyed, or the user presses the mouse button and the cursor will send this message to the parent window WM_Enterm Enuloop = $ 0211; Send this message to notify the application's main window That already entered the menu loop mode WM_EXITMENULOOP = $ 0212; send this message to notify the application's main window That has exited menu loop mode WM_NEXTMENU = $ 0213; wm_sizing = 532; This message is being adjusted to the window; you can monitor the window size and position can also modify the window size and location. You can also modify them WM_CAPTURECHANGED = 533; send this message to the window When it lost the captured mouse; WM_MOVING = 534; when the user is This message will be sent when the window is sent, and you can monitor the window size and location. You can also modify them; WM_PowerBroadcast = 536; this message is sent to the application to notify it about power management events; WM_DEviceChange = 537; Send this message to the application or device driver WM_IME_STARTCOMPSITION = $ 010D; WM_IME_Composition = $ 010F; WM_IME_KEYLAST = $ 010F;
WM_IME_SETCONTEXT = $ 0281; WM_IME_NOTIFY = $ 0282; WM_IME_CONTROL = $ 0283; WM_IME_COMPOSITIONFULL = $ 0284; WM_IME_SELECT = $ 0285; WM_IME_CHAR = $ 0286; WM_IME_REQUEST = $ 0288; WM_IME_KEYDOWN = $ 0290; WM_IME_KEYUP = $ 0291; WM_MDICREATE = $ 0220; application sends this message to the customer and more documents Window to create an MDI sub-window WM_MDIDESTROY = $ 0221; the application sends this message to the multi-document client window to close a MDI sub-window WM_MDIACTIAACTIAFATE = $ 0222; application sends this message to the multi-document client window to inform the customer window to activate another MDI Sub window, when the customer window receives this message, it issues a WM_MDIACTIVE message to the MDI sub-window (not activated) to activate it; WM_MDIRESTORE = $ 0223; program sends this message to the MDI customer window allows sub-windows from the maximum minimum minimization to the original size WM_MDINEXT = $ 0224; Program Send this message to the MDI Customer window to activate the next or the previous window WM_MDIMAXIMIZE = $ 0225; the program sends this message to maximize a MDI sub-window; wm_mditile = $ 0226; program sends this message to MDI customers The window rearranges all MDI sub-window WM_MDICASCADE = $ 0227; program sends this message to the MDI client window to rearrange all MDI sub-window WM_MDIICONARRANGE = $ 0228; program sends this message to the MDI customer window rearrange all minimization MDI child windows WM_MDIGETACTIVE = $ 0229; program sends the message to the MDI client window to find the handle WM_MDISETMENU activated sub-window = $ 0230; sends this message to the MDI client window instead of the menu WM_ENTERSIZEMOVE child window by MDI menu = $ 0231; WM_EXITSIZEMOVE = $ 0232 WM_DROPFILES = $ 0233; wm_mdirefreshmenu = $ 0234; wm_mousehover = $ 02A1; wm_mouseeleave = $ 02A3; WM_CUT = $ 0300; program sends this elimination Interest to an edit box or ComboBox to delete the currently selected text wm_copy = $ 0301; program sends this message to a edit box or ComboBox to copy the currently selected text to the clipboard WM_PASTE = $ 0302; the program sends this message to EditControl or ComboBox from the clip plates obtained data WM_CLEAR = $ 0303; program sends the message to editcontrol or combobox clear the currently selected content; WM_UNDO = $ 0304; program sends the message to editcontrol or combobox undo the last operation WM_RENDERFORMAT = $ 0305; WM_RENDERALLFORMATS = $ 0306; WM_DESTROYCLIPBOARD = $ 0307; When the EnpTyClipboard function is sent to the owner of the clipboard to the owner of the clipboard, WM_DRAWCLIPBOARD = $ 0308; send this message to the first window of the clipboard to observe the chain when the content changes of the clipboard; it allows the window to display the clipboard New content; WM_PaintClipboard = $ 0309; when the clipboard contains data in the CF_OWNERDIPLAY format and the clipboard observation window needs to be heavy; WM_VScrollClipboard = $ 030A;
WM_SIZECLIPBOARD = $ 030B; When the clipboard contains data in the CF_OWNERDIPLAY format and the size of the clipboard observation window has changed this message, the message is sent to the owner of the clipboard by the clipboard observation window; WM_ASKCBFORMATNAME = $ 030c; observation by clipboard The window sends this message to the owner of the clipboard to request a clipboard of a CF_OWNERDISPLAY format WM_CHANGECBCHAIN = $ 030D; when a window is removed from the clipboard observed chain, send this message to the first window of the clipboard observation chain. WM_HSCROLLLPBOARD = $ 030E; This message sends the owner of the clipboard through a clipboard watch window; it occurs in the clipboard contains data in the CFOWNERDISPALY format and has an event on the horizontal scroll bar of the clipboard viewing window; owner The clipboard image should be scrolled and update the value of the scroll bar; WM_QUERYNEWPALETTE = $ 030F; this message is sent to the window to receive the focus, this message enables the window to have the opportunity to achieve his logical palette WM_PALETTEISCHANGING when receiving the focus = $ 0310; When an application is to implement its logical palette, you send this message to notify all applications WM_PALETTECHANGED = $ 0311; this message is sent to all the logical palette after a focus window, send this message to all Top-level and overlapping windows to change the system palette WM_HOTKEY = $ 0312; submit this message when the user presses the hotkey registered by the RegisterhotKey function; the application sends this message only when Windows or other applications are issued a request requires drawing a portion of an application; WM_PRINTCLIENT = 792; WM_HANDHELDFIRST = 856; WM_HANDHELDLAST = 863; WM_PENWINFIRST = $ 0380; WM_PENWINLAST = $ 038F; WM_COALESCE_FIRST = $ 0390; WM_COALESCE_LAST = $ 039F; WM_DDE_FIRST = $ 03E0; WM_DDE_INITIATE = WM_DDE_FIRST 0 A DDE client submits this message to start a session of the server to respond to the specified program and theme name; WM_DDE_TERMINATE = WM_DDE_FIRST 1; a DDE application (whether a customer or server) submit this message Terminate a session; WM_DDE_ADVISE = WM_DDE_First 2; a DDE client submits this message to a DDE service program to request the server whenever the data item changes it when the data item changes it WM_DDE_UNADVISE = WM_DDE_First 3; a DDE client invides a DDE service does not update the specified item or a special clipboard format entry WM_DDE_ACK = WM_DDE_FIRST 4; this message informs a DDE (dynamic data exchange) program has been received and is being processed WM_DDE_POKE, WM_DDE_EXECUTE, WM_DDE_DATA, WM_DDE_ADVISE, WM_DDE_UNADVISE, or WM_DDE_INITIAT Message WM_DDE_DATA = WM_DDE_FIRST 5; a DDE service program submits this message to the DDE client to deliver a data item to a customer or notifying a customer's available data item WM_DDE_REQUEST = WM_DDE_FIRST 6; a DDE client submits this message to a DDE The service program requests the value of a data item; WM_DDE_POKE = WM_DDE_FIRST 7;