ListView_MapIDToIndex マクロ (commctrl.h)

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

構文

void ListView_MapIDToIndex(
   hwnd,
   id
);

パラメーター

hwnd

種類: HWND

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

id

型: UINT

項目の一意の ID を含む UINT

戻り値

なし

解説

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

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

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

ID の作成後に項目のインデックスを知る必要がある場合は、一意の ID で LVM_MAPIDTOINDEX を呼び出し、最新のインデックスを返します。

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

要件

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