Поделиться через


код уведомления 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 [только классические приложения]
Заголовок
Commctrl.h
Имя в кодировке Юникод и ANSI
LVN_GETDISPINFOW (Юникод) и LVN_GETDISPINFOA (ANSI)

См. также раздел

LVN_SETDISPINFO