ツリービューに追加

ActiveBasicでのプログラミングでわからないこと、困ったことなどがあったら、ここで質問してみましょう(質問を行う場合は、過去ログやWeb上であらかじめ問題を整理するようにしましょう☆)。
返信する
メッセージ
作成者
C1000
記事: 185
登録日時: 2006年5月07日(日) 17:16
お住まい: 宮城県
連絡する:

ツリービューに追加

#1 投稿記事 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
最後に編集したユーザー C1000 [ 2006年5月15日(月) 20:16 ], 累計 1 回
雷電

#2 投稿記事 by 雷電 »

私が質問したものですが、参考にしていただければ光栄です
http://www.activebasic.com/forum/viewtopic.php?t=652
C1000
記事: 185
登録日時: 2006年5月07日(日) 17:16
お住まい: 宮城県
連絡する:

#3 投稿記事 by C1000 »

実は雷電さんが質問した物を参考に作っています。
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

Re: ツリービューに追加

#4 投稿記事 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でしたね...。
最後に編集したユーザー 7 [ 2006年5月15日(月) 21:27 ], 累計 1 回
雷電

#5 投稿記事 by 雷電 »

そうだったんですか。
ツリービューは前にやってたなぁーと思って探して、URLを貼り付けました。
諦めてしまったツリービューですが、この際なので、もう一度学びなおそうかと思います。。。(^_^;)
7
記事: 473
登録日時: 2005年5月31日(火) 18:51
お住まい: 新潟県
連絡する:

#6 投稿記事 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
C1000
記事: 185
登録日時: 2006年5月07日(日) 17:16
お住まい: 宮城県
連絡する:

#7 投稿記事 by C1000 »

うまくいきました~
7さん・雷電さんありがとうございました。
返信する