LVN_GETDISPINFO通知代码

列表视图控件发送到其父窗口。 这是父窗口提供显示或排序列表视图项所需的信息的请求。 此通知代码以 WM_NOTIFY 消息的形式发送。

LVN_GETDISPINFO
        
    pdi = (NMLVDISPINFO*) lParam

参数

lParam

指向 NMLVDISPINFO 结构的指针。 在输入时,此结构中包含的 LVITEM 结构指定所需的信息类型,并标识感兴趣的项或子项。 使用 LVITEM 结构将请求的信息返回到控件。 如果消息处理程序在 LVITEM 结构的掩码成员中设置LVIF_DI_SETITEM标志,则列表视图控件会存储请求的信息,并且不会再次请求它。

返回值

没有返回值。

备注

通知接收器强制转换 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
Unicode 和 ANSI 名称
LVN_GETDISPINFOW ( unicode ) 和 LVN_GETDISPINFOA (ANSI)

另请参阅

LVN_SETDISPINFO