次の方法で共有


ListView_MapIDToIndex マクロ (commctrl.h)

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

構文

UINT ListView_MapIDToIndex(
   HWND hwnd,
   UINT id
);

パラメーター

hwnd

型: HWND

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

id

型: UINT

項目の一意の ID を含む UINT

戻り値

型: UINT

最新のインデックスを返します。

備考

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

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

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

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

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

必要条件

要件 価値
サポートされる最小クライアント Windows Vista [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー commctrl.h