ページ 1 / 1
ツリービューに追加
Posted: 2006年5月15日(月) 20:02
by C1000
ツリービューにアイテムを追加するために次のようなサブルーチンを作りましたが、
テキストが設定されません。どこが悪いのでしょうか?
コード: 全て選択
Sub ItemAdd (HTR As HTREEITEM,Text As BytePtr)
Dim tvi As TVINSERTSTRUCT
Dim hTreeItem As HTREEITEM
'子アイテムを追加する。
tvi.hParent = HTR
tvi.item.pszText = Text
hTreeItem = TreeView_InsertItem( hAny , tvi )
End Sub
Posted: 2006年5月15日(月) 20:08
by 雷電
Posted: 2006年5月15日(月) 20:57
by C1000
実は雷電さんが質問した物を参考に作っています。
Re: ツリービューに追加
Posted: 2006年5月15日(月) 21:08
by 7
試してないんですけど、ItemAdd()関数の第一引数がバイバリューになってるせいじゃないでしょうか。バイリファレンスにしてみては?
コード: 全て選択
Sub ItemAdd (ByRef HTR As HTREEITEM,ByVal Text As BytePtr)
Dim tvi As TVINSERTSTRUCT
Dim hTreeItem As HTREEITEM
'子アイテムを追加する。
tvi.hParent = HTR
tvi.item.pszText = Text
hTreeItem = TreeView_InsertItem( hAny , tvi )
End Sub
自分は省略好きじゃなくて ByVal も書いちゃいます。
追記。
思いっきり勘違いしてました。無視してください。
TVITEM構造体だと思ったらHTREEITEMでしたね...。
Posted: 2006年5月15日(月) 21:12
by 雷電
そうだったんですか。
ツリービューは前にやってたなぁーと思って探して、URLを貼り付けました。
諦めてしまったツリービューですが、この際なので、もう一度学びなおそうかと思います。。。(^_^;)
Posted: 2006年5月15日(月) 21:36
by 7
気を取り直して返信です。TVITEM構造体の mask メンバに TVIF_TEXT を指定しているでしょうか?
コード: 全て選択
Sub ItemAdd (ByVal HTR As HTREEITEM,ByVal Text As BytePtr)
Dim tvi As TVINSERTSTRUCT
Dim hTreeItem As HTREEITEM
'子アイテムを追加する。
tvi.hParent = HTR
tvi.item.mask=TVIF_TEXT ' TVITEM構造体の pszText メンバを有効にします
tvi.item.pszText = Text
hTreeItem = TreeView_InsertItem( hAny , tvi )
End Sub
Posted: 2006年5月16日(火) 19:39
by C1000
うまくいきました~
7さん・雷電さんありがとうございました。