Edit Control Default Message Processing

The window procedure for the predefined edit control window class carries out default processing for all messages that the edit control procedure does not process. When the edit control procedure returns FALSE for any message, the predefined window procedure checks the messages and carries out the following default actions.

Message
Default action
EM_CANUNDO
Returns TRUE if the edit control operation can be undone.
EM_CHARFROMPOS
Returns the character index and line index of the character nearest the specified point.
EM_EMPTYUNDOBUFFER
Empties the undo buffer and sets the undo flag retrieved by the EM_CANUNDO message to FALSE. Windows automatically clears the undo flag whenever the edit control receives a WM_SETTEXT or EM_SETHANDLE message.
EM_FMTLINES
Adds or removes soft linebreak characters (two carriage returns and a linefeed) to the ends of wrapped lines in a multiline edit control. It is not processed by single-line edit controls.
EM_GETFIRSTVISIBLELINE
Returns the zero-based index of the first visible character in a single-line edit control or the zero-based index of the uppermost visible line in a multiline edit control.
EM_GETHANDLE
Returns a handle identifying the buffer containing the multiline edit control's text. It is not processed by single-line edit controls.
EM_GETLIMITTEXT
Returns the current text limit, in characters.
EM_GETLINE
Copies characters in a single-line edit control to a buffer and returns the number of characters copied. In a multiline edit control, retrieves a line of text from the control and returns the number of characters copied.
EM_GETLINECOUNT
Returns the number of lines in the edit control.
EM_GETMARGINS
Returns the widths of the left and right margins.
EM_GETMODIFY
Returns a flag indicating whether the content of an edit control has been modified.
EM_GETPASSWORDCHAR
Returns the character that edit controls use in conjunction with the ES_PASSWORD style.
EM_GETRECT
Returns the coordinates of the formatting rectangle in an edit control.
EM_GETSEL
Returns the starting and ending character positions of the current selection in the edit control.
EM_GETTHUMB
Returns the position of the scroll box.
EM_GETWORDBREAKPROC
Returns the address of the current wordwrap function in an edit control.
EM_LINEFROMCHAR
Returns the zero-based number of the line in a multiline edit control that contains a specified character index This message is the reverse of the EM_LINEINDEX message. It is not processed by single-line edit controls.
EM_LINEINDEX
Returns the character of a line in a multiline edit control. This message is the reverse of the EM_LINEFROMCHAR message. It is not processed by single-line edit controls.
EM_LINELENGTH
Returns the length, in characters, of a single-line edit control. In a multiline edit control, returns the length, in characters, of a specified line.
EM_LINESCROLL
Scrolls the text vertically in a single-line edit control or horizontally in a multiline edit control (when the control has the ES_LEFT style). The lParam parameter specifies the number of lines to scroll vertically, starting from the current line. The wParam parameter specifies the number of characters to scroll horizontally, starting from the current character.
EM_POSFROMCHAR
Returns the client coordinates of the specified character.
EM_REPLACESEL
Replaces the current selection with the text in an application-supplied buffer, sends the parent window EN_UPDATE and EN_CHANGE messages, and updates the undo buffer.
EM_SCROLL
Scrolls the text vertically in a multiline edit control. This message is equivalent to sending a WM_VSCROLL message to the edit control. It is not processed by single-line edit controls.
EM_SCROLLCARET
Scrolls the caret into view in an edit control. In earlier versions of Windows this was done via EM_SETSEL using particular parameters. A Win32-based application should use EM_SCROLLCARET.
EM_SETFONT
Unsupported.
EM_SETHANDLE
Sets a handle to the memory used as a text buffer, empties the undo buffer, resets the scroll positions to zero, and redraws the window.
EM_SETLIMITTEXT
Sets the maximum number of characters the user may enter in the edit control. For single-line edit controls, this value is either 0x7FFFFFFE (0x7FFE for version 4.0) or the value of the wParam parameter, whichever is smaller. For multiline edit controls, this value is either 0xFFFFFFFF (0xFFFF for version 4.0) or the value of the wParam parameter, whichever is smaller.
EM_SETMARGINS
Sets the widths of the left and right margins, and redraws the edit control to reflect the new margins.
EM_SETMODIFY
Sets or clears the modification flag to indicate whether the edit control has been modified.
EM_SETPASSWORDCHAR
Defines the character that edit controls use in conjunction with the ES_PASSWORD style.
EM_SETREADONLY
Sets or removes the read-only style (ES_READONLY) in an edit control.
EM_SETRECT
Sets the formatting rectangle for the multiline edit control and redraws the window. It is not processed by single-line edit controls.
EM_SETRECTNP
Sets the formatting rectangle for the multiline edit control but does not redraw the window. It is not processed by single-line edit controls.
EM_SETSEL
Selects a range of characters in the edit control by setting the starting and ending positions to be selected.
EM_SETTABSTOPS
Sets tab-stop positions in the multiline edit control. It is not processed by single-line edit controls.
EM_SETWORDBREAKPROC
Replaces the default wordwrap function with an application-defined wordwrap function.
EM_UNDO
Removes any text that was just inserted or inserts any deleted characters and sets the selection to the inserted text. If necessary, sends the EN_UPDATE and EN_CHANGE notification messages to the parent window.
WM_CHAR
Writes a character to the single-line edit control and sends the EN_UPDATE and EN_CHANGE notification messages to the parent window. Writes a character to the multiline edit control. Handles the accelerator keys for standard functions, such as CTRL+C for copying and CTRL+V for pasting. In multiline edit controls, also processes TAB, and CTRL+TAB keystrokes to move among the controls in a dialog box and to insert tabs into multiline edit controls. Uses the MessageBeep function for illegal characters.
WM_CLEAR
Clears the current selection, if any, in an edit control. If there is no current selection, deletes the character to the right of the caret. If the user presses the SHIFT key, this cuts the selection to the clipboard, or deletes the character to the left of the caret when there is no selection. If the user presses the CTRL key, this deletes the selection, or deletes to the end of the line when there is no selection.
WM_COPY
Copies text to the clipboard unless the style is ES_PASSWORD, in which case the message returns zero.
WM_CREATE
Creates the edit control and notifies the parent window with TRUE for success or pics/WIN3200090000.gif1 for failure.
WM_CUT
Cuts the selection to the clipboard, or deletes the character to the left of the cursor if there is no selection.
WM_ENABLE
Causes the rectangle to be redrawn in gray for single-line edit controls. Returns the enabled state for single-line and multiline edit controls.
WM_ERASEBKGND
Fills the multiline edit control window with the current color of the edit control.
WM_GETDLGCODE
Returns the following values: DLGC_WANTCHARS, DLGC_HASSETSEL, and DLGC_WANTARROWS. In multiline edit controls, it also returns DLGC_WANTALLKEYS. If the user presses ALT+BACKSPACE, it also returns DLGC_WANTMESSAGE.
WM_GETFONT
Returns the handle of the font being used by the control, or NULL if the control uses the system font.
WM_GETTEXT
Copies the specified number of characters to a buffer and returns the number of characters copied.
WM_GETTEXTLENGTH
Returns the length, in characters, of the text in an edit control. The length does not include the null- terminating character.
WM_HSCROLL
Scrolls the text in a multiline edit control horizontally and handles scroll box movement.
WM_KEYDOWN
Performs standard processing of the virtual-key codes.
WM_KILLFOCUS
Removes the keyboard focus of an edit control window, destroys the caret, hides the current selection, and notifies the parent window that the edit control has lost the focus.
WM_LBUTTONDBLCLK
Clears the current selection and selects the word under the cursor. If the SHIFT key is down, extends the selection to the word under the cursor.
WM_LBUTTONDOWN
Changes the current insertion point. If the SHIFT key is down, it extends the selection to the position of the cursor. In multiline edit controls, also sets the timer to automatically scroll when the user holds down the mouse button outside the multiline edit control window.
WM_LBUTTONUP
Releases the mouse capture and sets the text insertion point in the single-line edit control. In a multiline edit control, it also kills the timer set in the WM_LBUTTONDOWN message.
WM_MOUSEMOVE
Changes the current selection in the single-line edit control, if the mouse button is down. In a multiline edit controls, also sets the timer to automatically scroll if the user holds down the mouse button outside the multiline edit control window.
WM_NCCREATE
Points to the CREATESTRUCT structure for the window. This message is sent to the WM_CREATE message when a window is first created.
WM_NCDESTROY
Frees all memory associated with the edit control window, including the text buffer, undo buffer, tab-stop buffer, and highlight brush.
WM_PAINT
Erases the background, fills the window with the current color of the edit control window, draws the border (if any), sets the font and draws any text, and shows the text-insertion caret.
WM_PASTE
Pastes text from the clipboard into the edit control window at the caret position.
WM_SETFOCUS
Sets the keyboard focus of an edit control window (shows the current selection, if it was hidden, and creates the caret).
WM_SETFONT
Sets the font and optionally redraws the edit control.
WM_SETTEXT
Copies text to the single-line edit control, notifies the parent window when there is insufficient memory, empties the undo buffer, and sends the EN_UPDATE and EN_CHANGE notification messages to the parent window. In multiline edit controls, also rewraps the lines (if necessary) and sets the scroll positions.
WM_SIZE
Changes the size of the edit control window and ensures that the minimum size accommodates the height and width of a character.
WM_SYSCHAR
Returns TRUE if the user presses ALT+BACKSPACE; otherwise, it takes no action.
WM_SYSKEYDOWN
Undoes the last action if the user presses ALT+BACKSPACE; otherwise, it takes no action.
WM_TIMER
Scrolls the text in the edit control window if the user holds down the mouse button outside the multiline edit control window.
WM_UNDO
Removes any text that was just inserted or inserts any deleted characters and sets the selection to the inserted text. If necessary, sends the EN_UPDATE and EN_CHANGE notification messages to the parent window.
WM_VSCROLL
Scrolls a multiline edit control vertically and handles scroll box movement. It is not processed by single-line edit controls.

The predefined edit control window procedure passes all other messages to the DefWindowProc function for default processing.

Software for developers
Delphi Components
.Net Components
Software for Android Developers
More information resources
MegaDetailed.Net
Unix Manual Pages
Delphi Examples
Databases for Amazon shops developers
Amazon Categories Database
Browse Nodes Database