LB_GETTEXT
wParam = (WPARAM) index; /* item index */
lParam = (LPARAM) (LPCSTR) lpszBuffer; /* address of buffer */
An application sends an LB_GETTEXT message to retrieve a string from a list 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. An LB_GETTEXTLEN message can be sent before the LB_GETTEXT 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. The return value is LB_ERR if the index parameter does not specify a valid index.
If the list box was created with an owner-drawn style but without the LBS_HASSTRINGS style, the buffer pointed to by the lpszBuffer parameter receives the doubleword value associated with the item.
This example retrieves the length of the first item in the list box, allocates sufficient memory for the string, and then sends an LB_GETTEXT message to retrieve the string:
DWORD cbItemString;
PSTR psz;
cbItemString = SendDlgItemMessage(hdlg, ID_MYLISTBOX,
LB_GETTEXTLEN, 0, 0L);
if (cbItemString != LB_ERR) {
psz = (PSTR) LocalAlloc(LMEM_FIXED, (WORD) cbItemString);
SendDlgItemMessage(hdlg, ID_MYLISTBOX,
LB_GETTEXT, 0, (LPARAM) ((LPCSTR) psz));
}