Default Entry-Field Behavior

The following table lists and describes all the messages specifically handled by the predefined entry-field control-window class (WC_ENTRYFIELD).

┌────────────────────┬────────────────────────────────────────┐
│Message             │Description                             │
├────────────────────┼────────────────────────────────────────┤
│EM_CLEAR            │Deletes the current text selection from │
│                    │the control window.                     │
├────────────────────┼────────────────────────────────────────┤
│EM_COPY             │Copies the current text selection to the│
│                    │system clipboard, in CF_TEXT format.    │
├────────────────────┼────────────────────────────────────────┤
│EM_CUT              │Copies the current text selection to the│
│                    │system clipboard, in CF_TEXT format, and│
│                    │deletes the selection from the control  │
│                    │window.                                 │
├────────────────────┼────────────────────────────────────────┤
│EM_PASTE            │Copies the current contents of the      │
│                    │system clipboard that have CF_TEXT      │
│                    │format, replacing the current text      │
│                    │selection in the control window.        │
├────────────────────┼────────────────────────────────────────┤
│EM_QUERYCHANGED     │Returns TRUE if the text has changed    │
│                    │since the last EM_QUERYCHANGED message. │
├────────────────────┼────────────────────────────────────────┤
│EM_QUERYFIRSTCHAR   │Returns the offset to the first         │
│                    │character visible at the left edge of   │
│                    │the control window.                     │
├────────────────────┼────────────────────────────────────────┤
│EM_QUERYREADONLY    │Determines whether the entry field is in│
│                    │the read-only state.                    │
├────────────────────┼────────────────────────────────────────┤
│EM_QUERYSEL         │Returns a long word that contains the   │
│                    │offsets for the first and last          │
│                    │characters of the current selection in  │
│                    │the control window.                     │
├────────────────────┼────────────────────────────────────────┤
│EM_SETFIRSTCHAR     │Scrolls the text so that the character  │
│                    │at the specified offset is the first    │
│                    │character visible at the left edge of   │
│                    │the control window.                     │
├────────────────────┼────────────────────────────────────────┤
│EM_SETINSERTMODE    │Toggles the text-entry mode between     │
│                    │insert and overstrike.                  │
├────────────────────┼────────────────────────────────────────┤
│EM_SETREADONLY      │Sets the entry field to the read-only   │
│                    │state.                                  │
├────────────────────┼────────────────────────────────────────┤
│EM_SETSEL           │Sets the current selection to the       │
│                    │specified character offsets.            │
├────────────────────┼────────────────────────────────────────┤
│EM_SETTEXTLIMIT     │Allocates memory from the control heap  │
│                    │for the specified maximum number of     │
│                    │characters, returning TRUE if it is     │
│                    │successful and FALSE if it is not.      │
│                    │Failure causes the entry field to send a│
│                    │WM_CONTROL message with the EN_MEMERROR │
│                    │notification code to the owner window.  │
├────────────────────┼────────────────────────────────────────┤
│WM_ADJUSTWINDOWPOS  │Changes the size of the control         │
│                    │rectangle if the control has the        │
│                    │ES_MARGIN style.                        │
├────────────────────┼────────────────────────────────────────┤
│WM_BUTTON1DBLCLK    │Occurs when the user presses mouse      │
│                    │button 1 twice.                         │
├────────────────────┼────────────────────────────────────────┤
│WM_BUTTON1DOWN      │Sets the mouse capture and keyboard     │
│                    │focus to the entry field, and prepares  │
│                    │to track the movement of the mouse      │
│                    │during WM_MOUSEMOVE messages.           │
├────────────────────┼────────────────────────────────────────┤
│WM_BUTTON1UP        │Releases the mouse.                     │
├────────────────────┼────────────────────────────────────────┤
│WM_BUTTON2DOWN      │Returns TRUE to prevent this message    │
│                    │from being processed further.           │
├────────────────────┼────────────────────────────────────────┤
│WM_BUTTON3DOWN      │Returns TRUE to prevent this message    │
│                    │from being processed further.           │
├────────────────────┼────────────────────────────────────────┤
│WM_CHAR             │Handles text entry and other keyboard   │
│                    │input events.                           │
├────────────────────┼────────────────────────────────────────┤
│WM_CREATE           │Validates the requested style and sets  │
│                    │the window text.                        │
├────────────────────┼────────────────────────────────────────┤
│WM_DESTROY          │Frees the memory used for the window    │
│                    │text.                                   │
├────────────────────┼────────────────────────────────────────┤
│WM_ENABLE           │Sent when an application changes the    │
│                    │enabled state of a window.              │
├────────────────────┼────────────────────────────────────────┤
│WM_MOUSEMOVE        │If the mouse button is down, the entry  │
│                    │field tracks the text selection. If the │
│                    │mouse button is up, the entry field sets│
│                    │the mouse pointer to the default arrow  │
│                    │shape.                                  │
├────────────────────┼────────────────────────────────────────┤
│WM_PAINT            │Draws the entry field and text.         │
├────────────────────┼────────────────────────────────────────┤
│WM_QUERYDLGCODE     │Returns the predefined DLGC_ENTRYFIELD  │
│                    │constant.                               │
├────────────────────┼────────────────────────────────────────┤
│WM_QUERYWINDOWPARAMS│Returns the requested window parameters.│
├────────────────────┼────────────────────────────────────────┤
│WM_SETFOCUS         │If the entry field is gaining the focus,│
│                    │it creates a cursor and sends the owner │
│                    │window a WM_CONTROL message with the    │
│                    │EN_SETFOCUS notification code. If the   │
│                    │entry field is losing the focus, it     │
│                    │destroys the current cursor and sends   │
│                    │the owner window a WM_CONTROL message   │
│                    │with the EN_KILLFOCUS notification code.│
├────────────────────┼────────────────────────────────────────┤
│WM_SETSELECTION     │Toggles the current selection status.   │
├────────────────────┼────────────────────────────────────────┤
│WM_SETWINDOWPARAMS  │Sets the specified window parameters,   │
│                    │redraws the entry field, and sends the  │
│                    │owner window a WM_CONTROL message with  │
│                    │the EN_CHANGE notification code.        │
├────────────────────┼────────────────────────────────────────┤
│WM_TIMER            │Blinks the insertion point if the entry │
│                    │field has the focus. The entry field    │
│                    │scrolls the text, if necessary, while   │
│                    │extending the selection to text that    │
│                    │becomes visible in the window.          │
└────────────────────┴────────────────────────────────────────┘


[Back: Entry-Field Notification Codes]
[Next: Entry-Field Text Editing]