ListView_InsertItem

WindowsAPI(Win32API) Advent Calendar 2015 7日目
WindowsAPI(Win32API) Advent Calendar 2015 - Adventar

ListView_InsertItemは、リストビューに項目(行)を追加するマクロ・・・。

ListView_InsertItem macro (Windows)

このマクロ単一だと、行の最初の列しか項目をセットできない・・・。
とはいえ行を作るにはこれが要る・・・。

resource.hは、

ListView_InsertItem.rcは、

ID_EDIT_NAMEという追加する名前(Name)を入力するエディットボックスを用意・・・。

Button1(ID_BUTTON1)が押されたとき、エディットボックスの内容を取得・・・。

LVITEM構造体変数itemに、追加する項目をセット・・・。
maskはテキスト(LVIF_TEXT)だけ・・・。
iItemに何番目(何行目)に入れるか(0番目)・・・。
pszTextには名前(tszName)・・・。

あとはリストビュー(IDC_LIST1)に、このitemを追加・・・。

f:id:BG1:20151207093550p:plain

右のエディットボックスに名前を入力する・・・。

f:id:BG1:20151207093621p:plain

"Taro"と入れて、これでButton1を押すと、

f:id:BG1:20151207094007p:plain

左のリストビュー、先頭のNameのところに"Taro"が追加される・・・。

f:id:BG1:20151207094142p:plain

今度は"Jiro"と入れてButton1を押すと、

f:id:BG1:20151207094202p:plain

上に"Jiro"が挿入され、"Taro"は2番目に・・・。
挿入するときの位置が常に0番目なので上から挿入されるのである・・・。

Sample/ListView_InsertItem.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/ListView_InsertItem.rc at master · bg1bgst333/Sample · GitHub