ツリービューに複数のアイコン
Posted: 2006年8月10日(木) 15:50
ツリービューの親アイテムと子アイテムに別々のアイコンを描画するにはどうすればいいのでしょうか?
コード: 全て選択
'イメージリストを作成
Dim TVIcon As *TVITEM
Dim IMIndex[2] As Long 'アイテムのインデックス
hImageList=ImageList_Create(16,16,ILC_COLOR4 or ILC_MASK,3,0)
IMIndex[0]=ImageList_AddIcon(hImageList,LoadIcon(GetModuleHandle(0),IDI_Close))
IMIndex[1]=ImageList_AddIcon(hImageList,LoadIcon(GetModuleHandle(0),IDI_Open))
IMIndex[2]=ImageList_AddIcon(hImageList,LoadIcon(GetModuleHandle(0),IDI_Text))
SendMessage(hAny,TVM_SETIMAGELIST,0,hImageList As Long)
TVIcon->hItem=SendMessage(hAny,TVM_GETNEXTITEM,TVGN_ROOT,0) As HTREEITEM 'ここでアクセス違反
TVIcon->mask=TVIF_IMAGE
TVIcon->iImage=IMIndex[0]
TVIcon->iSelectedImage=IMIndex[1]
SendMessage(hAny,TVM_SETITEM,0,TVIcon)
コード: 全て選択
'------------------------------------------------------------
' イメージリストを作成
'------------------------------------------------------------
Dim TVIcon As *TVITEM
Dim IMIndex[2] As Long' アイテムのインデックス
hImageList=ImageList_Create(16,16,ILC_COLOR4 or ILC_MASK,3,0)
IMIndex[0]=ImageList_AddIcon(hImageList,LoadIcon(GetModuleHandle(0),IDI_Close))
IMIndex[1]=ImageList_AddIcon(hImageList,LoadIcon(GetModuleHandle(0),IDI_Open))
IMIndex[2]=ImageList_AddIcon(hImageList,LoadIcon(GetModuleHandle(0),IDI_Text))
SendMessage(hAny,TVM_SETIMAGELIST,0,hImageList As Long)
TVIcon=calloc(SizeOf(TVITEM))
TVIcon->hItem=SendMessage(hAny,TVM_GETNEXTITEM,TVGN_ROOT,0) As HTREEITEM
TVIcon->mask=TVIF_IMAGE
TVIcon->iImage=IMIndex[0]
TVIcon->iSelectedImage=IMIndex[1]
SendMessage(hAny,TVM_SETITEM,0,TVIcon)
free(TVIcon)
コード: 全て選択
TVIcon->hItem=SendMessage(hAny,TVM_GETNEXTITEM,TVGN_ROOT,0) As HTREEITEM
コード: 全て選択
Dim hRoot As HTREEITEM
hRoot=SendMessage(hAny,TVM_GETNEXTITEM,TVGN_ROOT,0) As HTREEITEM
TVIcon->hItem=SendMessage(hAny,TVM_GETNEXTITEM,TVGN_CHILD,hRoot)