ListView_SetItem

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

ListView_SetItemは、リストビューに追加した行のそれぞれの列項目(サブアイテム含む)に値をセットするマクロ・・・。

ListView_SetItem macro (Windows)

ListView_InsertItemでは、先頭の0列目しかセットされてない状態で挿入されるので、1列目以降はこれでセットする・・・。

resource.hは、

ListView_SetItem.rcは、

Nameのエディットボックス(ID_EDIT_NAME)に加え、
Addressのエディットボックス(ID_EDIT_ADDRESS)、
PhoneNumberのエディットボックス(ID_EDIT_PHONENUMBER)を追加・・・。

Button1(ID_BUTTON1)が押された時、それぞれのエディットボックスから内容を取得・・・。

まず、nameを挿入・・・。

次に、addressに値をセット・・・。
iItemはnameと同じ・・・。
iSubItemは1列目に入れるので1・・・。
pszTextにtszAddressを指定・・・。

これでListView_SetItemでaddressをセット・・・。

同様に、iSubItemを2にしてphonenumberもセット・・・。

f:id:BG1:20151208115352p:plain

この3つのエディットボックスに、それぞれ名前、住所、電話番号を入力・・・。

f:id:BG1:20151208115433p:plain

こんな感じで、Button1を押すと、

f:id:BG1:20151208115501p:plain

名前に加えて、住所、電話番号もセットされる・・・。

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