次の方法で共有


ListView_SortItems マクロ (commctrl.h)

アプリケーション定義の比較関数を使用して、リスト ビュー コントロールの項目を並べ替えます。 各項目のインデックスは、新しいシーケンスを反映するように変更されます。 このマクロを使用することも、LVM_SORTITEMS メッセージを明示的に送信することもできます。

構文

BOOL ListView_SortItems(
   HWND         hwndLV,
   PFNLVCOMPARE _pfnCompare,
   LPARAM       _lPrm
);

パラメーター

hwndLV

型: HWND

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

_pfnCompare

型: PFNLVCOMPARE

アプリケーション定義比較関数へのポインター。 比較関数は、2 つのリスト項目の相対順序を比較する必要があるたびに、並べ替え操作中に呼び出されます。

_lPrm

型: LPARAM

比較関数に渡されるアプリケーション定義の値。

戻り値

型: BOOL

成功した場合 TRUE を返し、それ以外の場合は FALSE 返します。

備考

比較関数の形式は次のとおりです。

int CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM _lPrm);

lParam1 パラメーターは、比較対象の最初の項目に関連付けられた値です。lParam2 パラメーターは、2 番目の項目に関連付けられている値です。 これらは、リストに挿入されたときに項目の LVITEM 構造体の lParam メンバーで指定された値です。 _lPrm パラメーターは、LVM_SORTITEMS メッセージに渡される値と同じです。

比較関数は、最初の項目が 2 番目の項目の前にある場合は負の値を返す必要があります。最初の項目が 2 番目の項目の後に続く場合は正の値、2 つの項目が等しい場合は 0 を返す必要があります。

メモ 並べ替え処理中に、リスト ビューの内容が不安定になります。 コールバック関数がリスト ビュー コントロールにメッセージを送信する場合、結果は予測できません。
 

必要条件

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