CB_GETLBTEXT
wParam = (WPARAM) index; /* item index */
lParam = (LPARAM) (LPCSTR) lpszBuffer; /* address of buffer */
An application sends a CB_GETLBTEXT message to retrieve a string from the list box of a combo box.
index
Value of wParam. Specifies the zero-based index of the string to retrieve.
lpszBuffer
Value of lParam. Points to the buffer that receives the string. The buffer must have sufficient space for the string and a terminating null character. A CB_GETLBTEXTLEN message can be sent before the CB_GETLBTEXT message to retrieve the length, in bytes, of the string.
The return value is the length of the string, in bytes, excluding the terminating null character. If the index parameter does not specify a valid index, the return value is CB_ERR.
If the combo box was created with an owner-drawn style but without the CBS_HASSTRINGS style, the buffer pointed to by the lpszBuffer parameter of the message receives the doubleword value associated with the item.
This example retrieves the length of the first item in the list box of a combo box, allocates sufficient memory for the string, and sends a CB_GETLBTEXT message to retrieve the string:
DWORD cbItemString;
PSTR psz;
cbItemString = SendDlgItemMessage(hdlg, ID_MYCOMBOBOX,
CB_GETLBTEXTLEN, 0, 0L);
if (cbItemString != CB_ERR) {
psz = (PSTR) LocalAlloc(LMEM_FIXED, (WORD) cbItemString);
SendDlgItemMessage(hdlg, ID_MYCOMBOBOX,
CB_GETLBTEXT, 0, (LPARAM) ((LPCSTR) psz));
}