- ベストアンサー
TreeViewについて
派生ノードを作成しフィールドを追加したいのですがうまくいきません。MSDNで以下のページを参考にしているのですが、何度読んでもコードが理解できないうえ、動きません。以下MSDNのページ http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbcon/html/vbtsksubclassinglistitemortreenode.asp この中の ' Visual Basic Class myTreeNode Inherits TreeNode 'TreeNodeの派生? Public FilePath As String Sub New(ByVal fp As String) 'このメソッドがさっぱり解らない MyBase.New() FilePath = fp Me.Text = fp.Substring(fp.LastIndexOf("\")) End Sub End Class 上のコードが動かない、理解できないでこまっています。 VB6.0でこれ動くのでしょうか???VB6.0ではどう書けばよいのでしょうか。 ご存知の方よろしくお願いします。(質問ないようが少し不明確で申しわけありません)
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
ノード単体のサブクラスは無理です。 しかし、ノードを判断することは可能です。 1.TreeView本体をサブクラス化 2.uMsg = OCM_NOTIFYを取得する 3.その時lParamはNMTREEVIEW構造体を持つ領域の先頭アドレスを示している。 したがって、その領域をNMTREEVIEW構造体を持つ変数にコピー 4.NMTREEVIEW.hdr.codeに、ノードに対して何が行われたかの情報があります。 TVN_SELCHANGED:選択ノードの変更 TVN_ITEMEXPANDING:ノードの展開/閉じる などなど・・・ 他でも書いたけど、エクスプローラサンプル http://www.mvps.org/btmtz/vbexplorer/ 定数については、VCをインストールしていたなら、COMMCTRL.Hの中に書いてあります。
その他の回答 (1)
- todo36
- ベストアンサー率58% (728/1234)
VB.NETのサンプルをVB6で動かそうとしても、そりゃ動かんわ。 >subclassinglistitemortreenode ツリーのノッドをサブクラス化するという意味でしょうか? 私にはレベルが高すぎて分かりません。
お礼
やっぱり動かなくてあたりまえなんですね。それだけでもホッとしました。 ありがとうございます。 あっそうそう・・ノードのサブクラスをつくろうとしています。 ・・・きびしい・・・・