私用のモジュールを短くしたものです。
実用には色々と足りないと思いますが、参考にしてください。
initmodule@hListViewModule
#module hListViewModule
#const LVM_INSERTCOLUMN $0000101B
#const LVM_INSERTITEM $00001007
#const LVM_SETITEM $00001006
#enum global lvc_mask = 0
#const global LVCF_FMT $00000001 // fmt
#const global LVCF_WIDTH $00000002 // cx
#const global LVCF_TEXT $00000004 // pszText
#const global LVCF_SUBITEM $00000008 // iSubItem
#const global LVCF_IMAGE $00000010 // Version 4.70 以降: iImage
#const global LVCF_ORDER $00000020 // Version 4.70 以降: iOrder
#enum global lvc_fmt
#const global LVCFMT_LEFT $00000000 // テキストが左に配置されます。
#const global LVCFMT_RIGHT $00000001 // テキストが右に配置されます。
#const global LVCFMT_CENTER $00000002 // テキストが中央に配置されます。
#const global LVCFMT_JUSTIFYMASK $00000003 // ?
#const global LVCFMT_IMAGE $00000800 // Version 4.70 以降: アイテムはイメージリストのイメージを表示します。
#const global LVCFMT_BITMAP_ON_RIGHT $00001000 // Version 4.70 以降: ビットマップをアイテムの右側に表示します。
; これは、ヘッダアイテムに割り当てられたイメージリストのイメージには影響しません。
#const global LVCFMT_COL_HAS_IMAGES $00008000 // Version 4.70 以降: ヘッダアイテムはイメージリスト中のイメージを含みます
#enum global lvc_cx
#enum global lvc_pszText
#enum global lvc_cchTextMax
#enum global lvc_iSubItem
#enum global lvc_iImage
#enum global lvc_iOrder
#enum global LVCOLUMN_ELETOTAL
#enum global lvi_mask = 0
#const global LVIF_TEXT $00000001 // pszText
#const global LVIF_IMAGE $00000002 // iImage
#const global LVIF_PARAM $00000004 // lParam
#const global LVIF_STATE $00000008 // state
#const global LVIF_INDENT $00000010 // Version 4.70 以降: iIndent
#const global LVIF_GROUPID $00000100 // Version 6.0 以降: iGroupID
#const global LVIF_COLUMNS $00000200 // Version 6.0 以降: cColumns
#const global LVIF_NORECOMPUTE $00000800 // Version 4.70 以降: コントロールは LVM_GETITEM メッセージを受け取ったときに、
; テキスト情報を取得するのに LVN_GETDISPINFO 通知メッセージを発生させません。
; 代わりに、 pszText メンバに -1 (LPSTR_TEXTCALLBACK) を格納します。
#const global LVIF_DI_SETITEM $00001000 // システムは、要求されたリストアイテムの情報を格納しておき、後で再び情報を求めません
; このフラグは LVN_GETDISPINFO 通知メッセージでのみ使用されます。
#enum global lvi_iItem
#enum global lvi_iSubItem
#enum global lvi_state
#const global LVIS_FOCUSED $00000001 // アイテムがフォーカスを持ちます。
; フォーカスを持ったアイテムは周囲が点線で囲まれます。
; フォーカスを持つことができるアイテムは1つだけです。
#const global LVIS_SELECTED $00000002 // アイテムが選択されています。
; 表示のされ方はシステムカラーに依存します。複数のアイテムが同時に選択されることができます。
#const global LVIS_CUT $00000004 // アイテムはカット・アンド・ペーストの対象としてマークされています。
#const global LVIS_DROPHILITED $00000008 // ドラッグ・アンド・ドロップのターゲットとしてハイライト表示されています。
#const global LVIS_ACTIVATING $00000020 // 現在はサポートされていません。
#const global LVIS_OVERLAYMASK $00000F00 // ?
#const global LVIS_STATEIMAGEMASK $0000F000 // ?
#enum global lvi_stateMask
#enum global lvi_pszText
#enum global lvi_cchTextMax
#enum global lvi_iImage
#enum global lvi_lParam
#enum global lvi_iIndent
#enum global lvi_iGroupId
#enum global lvi_cColumns
#enum global lvi_puColumns
#enum global LVITEM_ELETOTAL
#deffunc local initmodule
#include "comctl32.as"
dim LVITEM_InsertItem,LVITEM_ELETOTAL
dim LVITEM_SetItem,LVITEM_ELETOTAL
LVITEM_SetItem.lvi_mask = LVIF_TEXT
dim LVCOLUMN_InsertColumn,LVITEM_ELETOTAL
#const ICC_LISTVIEW_CLASSES $00000001
icx = 8 , ICC_LISTVIEW_CLASSES
InitCommonControlsEx varptr(icx)
return
#deffunc CreateListview int exstyle_,int style_ ,int x_ , int y_
winobj "SysListView32","",0x200|exstyle_,0x50000001|style_,x_,y_,0,0
return
#deffunc local lv_InsertColumn int lic_hlist_ , int lic_iindex_ , str lic_string_ , \
int lic_cx_ , int lic_lindex_ , int lic_fmt_ , \
int lic_mask_ , int lic_iOrder
string = lic_string_
LVCOLUMN_InsertColumn.lvc_mask = lic_mask_
LVCOLUMN_InsertColumn.lvc_fmt = lic_fmt_
LVCOLUMN_InsertColumn.lvc_cx = lic_cx_
LVCOLUMN_InsertColumn.lvc_pszText = varptr(string)
LVCOLUMN_InsertColumn.lvc_cchTextMax = strlen(string)
LVCOLUMN_InsertColumn.lvc_iSubItem = lic_iindex_
LVCOLUMN_InsertColumn.lvc_iImage = lic_lindex_
LVCOLUMN_InsertColumn.lvc_iOrder = lic_iOrder
sendmsg lic_hlist_ , LVM_INSERTCOLUMN , lic_iindex_ , varptr(LVCOLUMN_InsertColumn)
return
#define global lv_InsertColumn(%1=hList,%2=0,%3="",%4=100,%5=0,%6=0,%7=0x0000000F,%8=0)\
lv_InsertColumn@hListViewModule %1,%2,%3,%4,%5,%6,%7,%8
#deffunc local Lv_InsertItem int lii_hList_ , int lii_iIndex_ , str lii_string_ , \
int lii_lparam_ , int lii_mask_ , int lii_lIndex_ , \
int lii_iIndent_
string = lii_string_
LVITEM_InsertItem.lvi_mask = lii_mask_
LVITEM_InsertItem.lvi_iItem = lii_iIndex_
LVITEM_InsertItem.lvi_iSubItem = lii_isubindex_
LVITEM_InsertItem.lvi_pszText = varptr(string)
LVITEM_InsertItem.lvi_cchTextMax = strlen(string)
LVITEM_InsertItem.lvi_iImage = lii_lIndex_
LVITEM_InsertItem.lvi_lParam = lii_lparam_
LVITEM_InsertItem.lvi_iIndent = lii_iIndent_
sendmsg lii_hList_ , LVM_INSERTITEM ,,varptr(LVITEM_InsertItem)
return
#define global Lv_InsertItem(%1,%2=0,%3="",%4=0,%5=0x00000005,%6=0,%7=0)\
Lv_InsertItem@hListViewModule %1,%2,%3,%4,%5,%6,%7
#deffunc lv_SetItem int lss_hlist_ , int lss_iIndex_ , int lss_siIndex_ , str lss_String_
string = lss_String_
LVITEM_SetItem.lvi_iItem = lss_iIndex_
LVITEM_SetItem.lvi_iSubItem = lss_siIndex_
LVITEM_SetItem.lvi_pszText = varptr(string)
LVITEM_SetItem.lvi_cchTextMax = strlen(string)
sendmsg lss_hlist_ , LVM_SETITEM , 0 , varptr(LVITEM_SetItem)
return stat
#global
Createlistview ,,ginfo_winx,ginfo_winy
hwnd_listview = objinfo_hwnd(stat)
lv_InsertColumn hwnd_listview ,0, "指名"
lv_InsertColumn hwnd_listview ,1, "年令"
lv_InsertColumn hwnd_listview ,2, "住職"
Lv_InsertItem hwnd_listview , 0 , "A子"
lv_SetItem hwnd_listview , 0 , 1 , "21"
lv_SetItem hwnd_listview , 0 , 2 , "○県▽市☆町□丁目"
Lv_InsertItem hwnd_listview , 1 , "B男"
lv_SetItem hwnd_listview , 1 , 1 , "23"
lv_SetItem hwnd_listview , 1 , 2 , "○県▽市☆町□丁目"
Lv_InsertItem hwnd_listview , 2 , "C太郎"
lv_SetItem hwnd_listview , 2 , 1 , "27"
lv_SetItem hwnd_listview , 2 , 2 , "○県▽市☆町□丁目"