ツリービューでエクスプローラの作成
- 題名: ツリービューでエクスプローラの作成
- 著者: raki
- 日時: 2004/09/17 17:09:26
- ID: 6225
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[1]: ツリービューでエクスプローラの作成
- 著者: ぱる
- 日時: 2004/09/17 18:38:19
- ID: 6226
- この記事の返信元:
- この記事への返信:
- ツリーを表示
- 題名: Re[2]: ツリービューでエクスプローラの作成
- 著者: raki
- 日時: 2004/09/19 10:42:59
- ID: 6235
- この記事の返信元:
- この記事への返信:
- ツリーを表示
分類:[.NET]
はじめまして。
現在ツリービューを使って、エクスプローラのようなものを作成しております。
エクスプローラのようにデスクトップをルートとする
ツリービューを作成するには、アイテムIDリストを利用すればいいということで、
サンプルを探したところ、VB6.0でのサンプルを次のサイトより
見つけることが出来ました。
http://www.mvps.org/btmtz/
このサンプルをVB.NETに自力で移植しているところなのですが、
このサンプルではTreeViewをサブクラス化し、
objTV.Nodes(1).Expanded = True が実行されたときに送られてくるメッセージから
NMTREEVIEW構造体に値を格納し、この中のcodeの値が
TVN_ITEMEXPANDINGかを判定して子ノードの挿入を行っているのですが、
VB.NETでうまくいきません。
(.NETではTreeViewクラスのWndProcをオーバーライドしました)
objTV.Nodes(0).Expand() で同じようにメッセージが送られてくると思ったのですが、
TVN_ITEMEXPANDINGではない値が送られてきます。
右クリック時のNM_RCLICKは正常に取得できることから、
lParam⇒NMTREEVIEWへの変換はうまくいっていると思うのですが。
objTV.Nodes(0).Expand()がいけないのか、
TVN_ITEMEXPANDINGではない違う値で判定しなくてはいけないのか、
それ以外の問題なのか。
VB.NETまたはC#でのサンプルなど御座いましたら
教えて頂けないでしょうか。
長文失礼致しました。