This section contains a table that describes the messages specifically handled by the predefined COMBOBOX class window procedure.
Message | Description |
---|---|
CB_ADDSTRING | Sends an LB_ADDSTRING message to the list window to add a list item. |
CB_DELETESTRING | Sends an LB_DELETESTRING message to the list window to delete a list item. |
CB_DIR | Adds the filenames matching the specified attributes and path to the list. |
CB_FINDSTRING | Sends an LB_FINDSTRING message to the list window. This message returns the index of the first list item that begins with the specified text. |
CB_FINDSTRINGEXACT | Sends an LB_FINDSTRING message to the list window. This message returns the index of the first list item exactly matching the specified text. |
CB_GETCOUNT | Sends an LB_GETCOUNT message to the list window. It returns the number of list items. |
CB_GETCURSEL | Sends an LB_GETCURSEL message to the list window. It returns the index of the currently selected item, if any. |
CB_GETDROPPEDCONTROLRECT | Fills the specified rectangle structure with the screen coordinates of a drop-down list. |
CB_GETDROPPEDSTATE | Returns TRUE if a drop-down list is open; otherwise, it returns FALSE. |
CB_GETDROPPEDWIDTH | Returns the minimum allowable width, in pixels, of the drop down list. |
CB_GETEDITSEL | Sends an EM_GETSEL message to the edit control, and it returns the starting and ending position of the current selection. In drop-down list boxes, the window procedure returns CB_ERR. |
CB_GETEXTENDEDUI | Returns TRUE if the combo box is a drop-down combo box or drop-down list box and the extend user-interface flag is set; otherwise, it returns FALSE. |
CB_GETHORIZONTALEXTENT | Sends an LB_GETHORIZONTALEXTENT message to the list window. It returns the scrollable width, in pixels, of the drop down list. |
CB_GETITEMDATA | Sends an LB_GETITEMDATA message to the list window. It returns the 32-bit value associated with the specified list item. |
CB_GETITEMHEIGHT | Sends an LB_GETITEMHEIGHT message to the list window. It returns the height, in pixels, of the specified owner-drawn list item. |
CB_GETLBTEXT | Sends an LB_GETTEXT message to the list window. It copies the specified list text to the specified buffer. |
CB_GETLBTEXTLEN | Sends an LB_GETTEXTLEN message to the list window. It returns the length, in bytes, of the specified list text. |
CB_GETLOCALE | Sends an LB_GETLOCALE message to the list window. It returns the current locale for the list. |
CB_GETTOPINDEX | Sends an LB_GETTOPINDEX message to the list window. It returns the index of the first visible item in the drop down list. |
CB_INITSTORAGE | Sends an LB_INITSTORAGE message to the list window. It initializes space for the specified number of items and the specified number of bytes for item strings. |
CB_INSERTSTRING | Sends an LB_INSERTSTRING message to the list window. It inserts a list item at the specified position. |
CB_LIMITTEXT | Sends an EM_LIMITTEXT message to the edit control. It sets the maximum number of characters a user can enter in the edit control. In drop-down list boxes, the window procedure returns CB_ERR. |
CB_RESETCONTENT | Sends an LB_RESETCONTENT message to the list window, and it removes the contents of the list. |
CB_SELECTSTRING | Sends an LB_SELECTSTRING message to the list window. It selects the first list item, if any, that begins with the characters in the specified text. |
CB_SETCURSEL | Sends an LB_SETCURSEL message to the list window, and it sets the current selection. |
CB_SETDROPPEDWIDTH | Sets the minimum allowable width, in pixels, of the drop down list. |
CB_SETEDITSEL | Sends an EM_SETSEL message to the edit control. It selects the specified range of text. In drop-down list boxes, the window procedure returns CB_ERR. |
CB_SETEXTENDEDUI | Sets or clears the extended user-interface flag. This flag changes the keys that open and close the list in a drop-down combo box or drop-down list box. If the combo box is a simple combo box, the window procedure returns CB_ERR. |
CB_SETHORIZONTALEXTENT | Sends an LB_SETHORIZONTALEXTENT message to the list window. It sets the scrollable width, in pixels, of the drop down list. |
CB_SETITEMDATA | Sends an LB_SETITEMDATA message to the list window. It associates the specified 32-bit value with a list item. |
CB_SETITEMHEIGHT | Sends an LB_SETITEMHEIGHT message to the list window. It sets the height of the specified owner-drawn list item or the selection field. |
CB_SETLOCALE | Sends an LB_SETLOCALE message to the list window, and it sets the current locale for the list. The locale affects how the list is sorted if it has the CBS_SORT style and strings are added using CB_ADDSTRING. |
CB_SETTOPINDEX | Sends an LB_SETTOPINDEX message to the list window. It scrolls the drop down list so the specified item is at the top of the visible range. |
CB_SHOWDROPDOWN | Shows or hides the drop-down list. This message has no effect on simple combo boxes. |
WM_CHAR | Processes character input. In drop-down list boxes, this message is passed to the list window, which moves the selection to the first item beginning with the specified character. In simple and drop-down combo boxes, this message is passed to the edit control. |
WM_CLEAR | Deletes the edit selection. In simple and drop-down combo boxes, the edit control processes this message. In drop-down list boxes, the window procedure returns CB_ERR. |
WM_COMMAND | Processes notification messages from the edit control and list window and sends corresponding combo box notification messages to the parent window. |
For edit control notifications, the window procedure may update the list window's current selection, caret index, and top index. For list notification messages, the window procedure may update the content of the selection field. | |
WM_COMPAREITEM | Passes the message to the parent window, enabling the application to specify the relative sort position of two owner-drawn list items. The combo box window receives this message from the list window. |
WM_COPY | Copies the edit selection to the clipboard. In simple and drop-down combo boxes, the edit control processes this message. In drop-down list boxes, the window procedure returns CB_ERR. |
WM_CREATE | Initializes the combo box. |
WM_CUT | Deletes the edit selection and places it on the clipboard. In simple and drop-down combo boxes, the edit control processes this message. In drop-down list boxes, the window procedure returns CB_ERR. |
WM_DELETEITEM | Passes the message to the parent window, notifying the application that a list item has been deleted. The combo box window receives this message from the list window. |
WM_DRAWITEM | Passes the message on to the parent window enabling the application to paint the specified list item. The combo box window receives this message from the list window. The window procedure can also originate this message to have the application paint the selection field of a drop-down list box. |
WM_ENABLE | Sets the state to enable or prohibit mouse and keyboard input. |
WM_ERASEBKGND | Returns 1, indicating that the background is erased. |
WM_GETDLGCODE | Returns a combination of the DLG_WANTCHARS and DLGC_WANTARROWS values. |
WM_GETFONT | Returns the handle to the current font with which the combo box will draw its text. |
WM_GETTEXT | Copies the contents of the selection field to the specified buffer. In simple and drop-down combo boxes, the edit control processes this message. |
WM_GETTEXTLENGTH | Returns the length, in characters, of the text in the selection field. In simple and drop-down combo boxes, the edit control processes this message. |
WM_KEYDOWN | Processes noncharacter keyboard input. In drop-down list boxes, this message is sent to the list window, which may show or hide itself, or change its current selection or caret index. In simple and drop-down combo boxes, this message is passed to the edit control. The edit control passes certain keys to the list window, such as the up and down arrow keys and the f4 key. |
WM_KILLFOCUS | Hides the highlight in the selection field and closes the drop-down list, if necessary. If the window receiving the input focus is part of the combo box (for example, the edit control), this message is ignored. |
WM_LBUTTONDBLCLK | Same as WM_LBUTTONDOWN. |
WM_LBUTTONDOWN | Sets the focus to the combo box and, for drop-down combo boxes and drop-down lists, can open or close the list. If it opens the list, the window procedure captures the mouse to enable selection by dragging and releasing the mouse button. |
WM_LBUTTONUP | Releases the mouse capture if the mouse opened the list. |
WM_MEASUREITEM | Posts the message to the parent window, enabling the application to modify the contents of the specified MEASUREITEMSTRUCT structure. The combo box window receives this message from the list window. |
WM_MOUSEMOVE | Posts the message to the list window if the mouse has opened the list and the mouse button is still down. This enables a user to select an item by dragging the mouse pointer to a list item and then releasing the button. |
WM_NCCREATE | Allocates an internal data structure used by the combo box window procedure. |
WM_NCDESTROY | Frees resources allocated in response to the WM_NCCREATE message. |
WM_PAINT | Paints the invalid region of the combo box. If wParam is not NULL, it is assumed to be a DC handle passed from a subclass function. The window procedure uses the specified DC instead of calling BeginPaint and EndPaint. |
WM_PASTE | Replaces the edit selection with the contents of the clipboard. In simple and drop-down combo boxes, the edit control processes this message. In drop-down list boxes, the window procedure returns CB_ERR. |
WM_SETFOCUS | Sets the focus to the edit control or, in drop-down list boxes, inverts the selection field and turns on the caret in the list window. |
WM_SETFONT | Saves the specified font handle in an internal structure, adjusts the dimensions of the selection field and list, and invalidates the combo box window. Text in the selection field and the list is displayed in the saved font. |
WM_SETREDRAW | Sets or clears the redraw flag. If the redraw flag is cleared, the combo box is not repainted until the flag is set again. |
WM_SETTEXT | Sets the contents of the edit control. In simple and drop-down combo boxes, the edit control processes this message. In drop-down list boxes, the window procedure returns CB_ERR. |
WM_SIZE | Resizes the child windows, if necessary. |
WM_SYSKEYDOWN | Opens or closes the drop-down list depending on which arrow key the user pressed. |
All other messages are passed to the DefWindowProc function for default processing.