ListView_MapIndexToID マクロ (commctrl.h)

項目のインデックスを一意の ID にマップします。 このマクロを使用することも、 LVM_MAPINDEXTOID メッセージを明示的に送信することもできます。

構文

void ListView_MapIndexToID(
   hwnd,
   index
);

パラメーター

hwnd

種類: HWND

リスト ビュー コントロールのハンドル。

index

型: UINT

項目のインデックスを含む UINT

戻り値

なし

解説

リスト ビュー コントロールは、インデックスによってアイテムを内部的に追跡します。 これは、コントロールの存在中にインデックスが変更される可能性があるため、問題が発生する可能性があります。

このマクロを使用すると、アイテムの作成時に ID を持つ項目にタグを付けることができます。 この ID は、リスト ビュー コントロールが存在する間に一意性を保証するために使用します。

項目を一意に識別するには、 IComponent::GetDisplayInfo などの呼び出しから返されるインデックスを取得し、 LVM_MAPINDEXTOIDを呼び出します。 戻り値は一意の ID です。

メモ マルチスレッド環境では、バックグラウンド スレッドではなく、リスト ビュー コントロールをホストするスレッドで正しいインデックスが返されることを確認できます。
 
ListView_MapIndexToIDを使用するには、マニフェスト Comctl32.dll バージョン 6 を指定します。 マニフェストの詳細については、「 ビジュアル スタイルの有効化」を参照してください。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー commctrl.h