LVN_GETDISPINFO通知コード
リスト ビュー コントロールによって親ウィンドウに送信されます。 これは、リスト ビュー アイテムを表示または並べ替えるために必要な情報を親ウィンドウに提供するための要求です。 この通知コードは、 WM_NOTIFY メッセージの形式で送信されます。
LVN_GETDISPINFO
pdi = (NMLVDISPINFO*) lParam
パラメーター
-
lParam
-
NMLVDISPINFO 構造体へのポインター。 入力時に、この構造体に含まれる LVITEM 構造体は、必要な情報の種類を指定し、対象の項目またはサブ項目を識別します。 LVITEM 構造体を使用して、要求された情報をコントロールに返します。 メッセージ ハンドラーが LVITEM 構造体のマスク メンバーにLVIF_DI_SETITEM フラグを設定した場合、リスト ビュー コントロールは要求された情報を格納し、再び要求しません。
戻り値
戻り値はありません。
解説
通知レシーバーは、NMLVDISPINFO 構造体を取得するために lParam をキャストします。 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) と LVN_GETDISPINFOA (ANSI) |