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 ) 和 anSI LVN_GETDISPINFOA (ANSI)

另請參閱

LVN_SETDISPINFO