|
前回カラムの挿入を実装したので今回はアイテムの挿入を実装したいと思う。
アイテムの挿入も前回と同様で LV_ITEM 構造体を用いる。 |
|
|
|
リストコントロールのデータセットの方法は、
気を付けたいのは、データを一列づつ挿入する所である。 私はそこを誤ってしまっていた。 私が想像していたデータセットの方法は、 1 2 3 <- カラム 1 4 7 <- アイテム 2 5 8 3 6 9だと思っていたのだが実際は 1 2 3 <- カラム 1 2 3 <- アイテム 4 5 6 7 8 9であった。 |
|
|
|
さて、上記の説明を踏まえた上でアイテム挿入のコードは
void foo::SetItem( int itemnum )
{
int nValue = 0;
LV_ITEM lvi;
//第一カラム(ファイル名)
lvi.mask = LVIF_TEXT;
lvi.iItem = itemnum;
lvi.iSubItem = 0;
lvi.pszText = "アイテム1";
nValue = m_LstCtrl.InsertItem( &lvi );
//第二カラム(パス)
lvi.mask = LVIF_TEXT;
lvi.iItem = nValue;
lvi.iSubItem = 1;
lvi.pszText = "アイテム2";
m_LstCtrl.SetItem( &lvi );
//第三カラム(更新日時)
lvi.mask = LVIF_TEXT;
lvi.iItem = nValue;
lvi.iSubItem = 2;
lvi.pszText = "アイテム3";
m_LstCtrl.SetItem( &lvi );
}
となる。
ちなみに上記のコードは一列分なので、データをセットしたい場合はこれを何度も呼ぶ形になる。 |
|
|
|
今回でアイテムの挿入も可能になった。 次回はアイテムの削除について記述したいと思う。 |