0

ファイルから行ごとにデータを読み取り、各行のトークンをベクトル tmpstrArr に入れています。次に、CListCtrl の各行のトークンを追加しますが、CListCtrl は並べ替えられたデータを降順で表示しています。ファイルで使用できるのと同じ正しい順序です。CListCtrl データをファイルと同じように元の形式で、並べ替えられた形式ではなくしたいです。また、並べ替え = なしが選択されている CListCtrl のプロパティ ウィンドウを確認しました。

LVITEM lvi;
CString strItem;

m_listctrl.InsertColumn(0, _T("col 1"), LVCFMT_LEFT, 100);
m_listctrl.InsertColumn(1, _T("col 2"), LVCFMT_LEFT, 100);

for(int i=0;i<tmpstrArr.size();i++)
{
    strItem=tmpstrArr.at(i).c_str();
    lvi.iItem = 0;
    lvi.iSubItem = i;
    lvi.pszText = (LPTSTR)(LPCTSTR)(strItem);
    //lvi.iImage = i%8;// There are 8 images in the image list
    if(i==0)
    {
        lvi.mask =  LVIF_IMAGE | LVIF_TEXT;
        m_listctrl.InsertItem(&lvi);
    }
    else
        m_listctrl.SetItem(&lvi);
}
4

1 に答える 1

2

各項目を項目位置 0 に追加しています。したがって、最後に挿入した項目が常にリストの最初になります。ドキュメントを参照してください。

配列のように同じ順序を取得したい場合は、アイテムを追加する必要があります

 lvi.iItem = m_listCtrl.GetItemCount();
 // or use INT_MAX (see docu)
 lvi.iItem = INT_MAX;
于 2013-11-13T07:54:49.777 に答える