次の方法で共有


CListCtrl::SortItems

並べ替えは、アプリケーション定義された比較関数を使用してビュー アイテムの一覧を示します。

BOOL SortItems(
   PFNLVCOMPARE pfnCompare,
   DWORD_PTR dwData 
);

パラメーター

  • [入力] pfnCompare
    アプリケーション定義の比較関数のアドレス。

    並べ替え操作では、2 種類のリスト項目の相対位置ディレクティブが判断する必要があるたびに比較関数を呼び出します。比較関数は、クラスの静的メンバーまたはすべてのクラス メンバーではないスタンドアロン関数である必要があります。

  • [入力] dwData
    比較関数に渡されるアプリケーション定義の値。

戻り値

正常なメソッドtrue ; それ false。

解説

このメソッドは、新しいシーケンスを反映する各項目のインデックスを変更します。

比較関数、pfnCompareに、次の形式があります:

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

比較関数は、2 項目が等しい場合、最初の項目が 2 番目に従う場合、または 0 が返され、が最初の項目が 2 番目に指定する場合は、正の値は負の値を返します。

lParam1 のパラメーターを比較する、lParam2 のパラメーターは 2 番目の項目に関連付けられた値が最初の項目に関連付けられた 32 ビット値です。これらは、リストに挿入すると、項目の LVITEM の構造体の lParam のメンバーで指定された値です。lParamSort のパラメーターは dwData の値と同じです。

このメソッドは Windows SDKで説明する LVM_SORTITEMS のメッセージを送信します。

使用例

次は、単純な比較関数。lParam の値によって分類される項目の結果です。

// Sort items by associated lParam
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2, 
    LPARAM lParamSort)
{
    UNREFERENCED_PARAMETER(lParamSort);

    return (int)(lParam1 - lParam2);
}
// Sort the items by passing in the comparison function.
void CListCtrlDlg::Sort()
{
    m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}

必要条件

ヘッダー: afxcmn.h

このコントロールは、Windows NT 3.51 以降でサポートされています。

参照

関連項目

CListCtrl クラス

階層図

CListCtrl::FindItem

CListCtrl::SortItemsEx