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 [僅限桌面應用程式] |
標頭 |
|
Unicode 與 ANSI 名稱 |
LVN_GETDISPINFOW (Unicode ) 和 anSI LVN_GETDISPINFOA (ANSI) |