An application sends a CB_GETLBTEXTLEN message to retrieve the length, in characters, of a string in the list of a combo box.
CB_GETLBTEXTLEN
wParam = (WPARAM) index; // item index
lParam = 0; // not used; must be zero
The return value is the length of the string, in characters, excluding the terminating null character. Under certain conditions, this value may actually be greater than the length of the text. For more information, see the following Remarks section.
If the index parameter does not specify a valid index, the return value is CB_ERR.
Under certain conditions, the return value is larger than the actual length of the text. This occurs with certain mixtures of ANSI and Unicode, and is due to the operating system allowing for the possible existence of double-byte character set (DBCS) characters within the text. The return value, however, will always be at least as large as the actual length of the text; so you can always use it to guide buffer allocation. This behavior can occur when an application uses both ANSI functions and common dialogs, which use Unicode.
To obtain the exact length of the text, use the WM_GETTEXT, LB_GETTEXT, or CB_GETLBTEXT messages, or the GetWindowText function.
Windows NT: Requires version 3.1 or later.
Windows: Requires Windows 95 or later.
Windows CE: Requires version 1.0 or later.
Header: Declared in winuser.h.
Combo Boxes Overview, Combo Box Messages, CB_GETLBTEXT, GetWindowText, LB_GETTEXT, WM_GETTEXT