код уведомления LVN_GETDISPINFO
Отправляется элементом управления представлением списка в его родительское окно. Это запрос родительского окна на предоставление сведений, необходимых для отображения или сортировки элемента представления списка. Этот код уведомления отправляется в виде сообщения WM_NOTIFY .
LVN_GETDISPINFO
pdi = (NMLVDISPINFO*) lParam
Параметры
-
lParam
-
Указатель на структуру NMLVDISPINFO . На входных данных структура LVITEM , содержащаяся в этой структуре, указывает тип необходимой информации и определяет интересующий элемент или подэлемент. Используйте структуру LVITEM для возврата запрошенных сведений в элемент управления . Если обработчик сообщений устанавливает флаг LVIF_DI_SETITEM в элементе маски структуры LVITEM , элемент управления list-view сохраняет запрошенные сведения и не будет запрашивать их снова.
Возвращаемое значение
Нет возвращаемого значения.
Комментарии
Приемник уведомлений приводит lParam для получения структуры NMLVDISPINFO . Параметр wParam содержит код уведомления.
Элемент управления представлением списка отправляет код уведомления LVN_GETDISPINFO для получения сведений об элементах, хранящихся приложением, а не элементом управления. Эти сведения могут быть текстом или значком для элемента. Это также может быть информация о состоянии элемента. Дополнительные сведения о реализации состояния элемента на основе обратного вызова см. в сообщении LVM_SETCALLBACKMASK .
Дополнительные сведения о обратных вызовах в представлении списка см. в разделе Элементы обратного вызова и маска обратного вызова.
Примеры
В следующем примере показано, как этот код уведомления может быть обработан для задания текста в столбцах представления списка. Данные для каждого элемента хранятся в следующей структуре.
typedef struct tagPETINFO
{
TCHAR szName[50];
TCHAR szBreed[50];
TCHAR szGender[7];
TCHAR szPrice[20];
GroupIds iGroup;
} PETINFO;
Ниже приведен обработчик WM_NOTIFY в процедуре диалогового окна.
case WM_NOTIFY:
switch (((LPNMHDR) lParam)->code)
{
case LVN_GETDISPINFO:
{
NMLVDISPINFO* plvdi = (NMLVDISPINFO*)lParam;
switch (plvdi->item.iSubItem)
{
case 0:
// rgPetInfo is an array of PETINFO structures.
plvdi->item.pszText = rgPetInfo[plvdi->item.iItem].szName;
break;
case 1:
plvdi->item.pszText = rgPetInfo[plvdi->item.iItem].szBreed;
break;
case 2:
plvdi->item.pszText = rgPetInfo[plvdi->item.iItem].szGender;
break;
case 3:
plvdi->item.pszText = rgPetInfo[plvdi->item.iItem].szPrice;
break;
default:
break;
}
return TRUE;
}
// More notifications...
}
Требования
Требование | Значение |
---|---|
Минимальная версия клиента |
Windows Vista [только классические приложения] |
Минимальная версия сервера |
Windows Server 2003 [только классические приложения] |
Заголовок |
|
Имя в кодировке Юникод и ANSI |
LVN_GETDISPINFOW (Юникод) и LVN_GETDISPINFOA (ANSI) |