C において列を用いた ListView のソート
C でList View の並び替えを行う方法は以下の通りです。
1. まず、並べ替えの比較を行うコールバック関数を定義します。この関数は、必要に応じて比較規則をカスタマイズできます。
“`cint CALLBACK CompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort){
// 必要に応じて比較規則をカスタマイズします
// lParamSort は ListView コントロールの SortItems 関数で渡すことができます
// lParam1 と lParam2 をカスタマイズした構造体型に変換してから比較します}
“`
2. ListView コントロールを作成する前に、List View コントロールの比較関数を設定します。
“`cLV_COLUMN lvCol;lvCol.mask = LVCF_SUBITEM | LVCF_TEXT | LVCF_WIDTH;lvCol.pszText = “Column 1”;lvCol.cx = 100;ListView_InsertColumn(hListView, 0, &lvCol);lvCol.pszText = “Column 2”;lvCol.cx = 100;ListView_InsertColumn(hListView, 1, &lvCol);// List View コントロールの比較関数を設定しますListView_SetCallbackMask(hListView, LVIS_SELECTED);ListView_SetCompareCallback(hListView, CompareFunc, 0);“`
3. ListView の並び替えが必要な場所で、SortItems 関数を呼び出します。
“`c// カスタマイズした比較関数を使用して並び替えます
// lParamSort は、CompareFunc 関数で使用する追加のパラメーターを渡すために利用できますListView_SortItems(hListView, CompareFunc, lParamSort);“`
以上の手順に従うことで、C で List View を使用して ListView を並び替えることができます。