WindowsAPI(Win32API) Advent Calendar 2015 6日目
WindowsAPI(Win32API) Advent Calendar 2015 - Adventar
ListView_InsertColumnは、リストビューの列名を追加するマクロ・・・。
ListView_InsertColumn macro (Windows)
API関数のように見えるが、実際は関数マクロ・・・。
レポート形式のリストビューでは、1つの行項目に複数の列項目を設定できるので、ヘッダ部分に表示される列名を追加する必要がある・・・。
そのときにこれを使う・・・。
ListView_InsertColumn.rcで、
スタイルをレポート形式(LVS_REPORT)にしておく・・・。
DialogProcのWM_INITDIALOGの時、
LVCOLUMN構造体変数のcolumn1に、名前を表示する列Nameに関する情報をセットする・・・。
maskには、この構造体変数にどんな項目を設定するかを設定している・・・。
たとえば、この場合はfmt, cx, pszText, iSubItemを設定するので、
こんな風にマクロのOR演算でセット・・・。
でそれらのパラメータは、
このようにセット・・・。
iSubItemは何列目かということ・・・。0列目・・・。
1列目はcolumn2で住所(Address)、2列目はcolumn3で電話番号(PhoneNumber)をセットする・・・。
ListView_InsertColumnでcolumn1, column2, column3を追加していく・・・。
これで実行してダイアログを表示すると、
ヘッダ部分に、列名のName, Address, PhoneNumberが表示される・・・。
Sample/ListView_InsertColumn.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/ListView_InsertColumn.rc at master · bg1bgst333/Sample · GitHub