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