次の方法で共有


ListView_SortItemsEx マクロ (commctrl.h)

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

構文

BOOL ListView_SortItemsEx(
   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 番目の項目のインデックスを します。 ListView_SortItemsEx_lPrm パラメーターは、3 番目のパラメーターとしてコールバック関数に渡されます。

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

LVM_GETITEMTEXT メッセージを送信して、必要に応じて項目に関する詳細情報を取得できます。

このマクロは、比較関数に渡される情報の種類を除き、ListView_SortItemsに似ています。 ListView_SortItemsExでは、アイテムのインデックスは、lparam 値の代わりに渡されます。

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

必要条件

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