投稿者 neptune  (社会人) 投稿日時 2008/10/3 22:49:41
こんにちは


よねKEN さん
アドバイスありがとうございます。
曖昧な質問の仕方ですみませんでした。
少し長くなりますが、もっと詳細に書いておきます。


●動機:
私は、複雑なコントロールに慣れようとする時は簡単なサンプルを作って慣れるのですが、
TreeView、ListViewの場合はこのサイトでも採用しておられるようにエクスプローラ
もどきを作ります。何かで使いまわしも出来るかもしれないし。

今回はラッキーにも「初級講座 第25回 実技2 フォルダ情報一覧」が目的に
ぴったりなので講座のソースも利用させていただいてます。

●何に使うか:
で、全てのノード(全てのフォルダ)を最初からTreeViewに追加すると無駄に重いので
子フォルダの存在を示す「+」マーク対策としてノード展開前に
・孫ノードが存在するかどうか確認
・なければ、そのパスをチェックしフォルダがあれば孫ノードとして追加
 →展開時新たに表示されるノードに「+」が表示される
という方法を取っています。


1 □
2  -□
3    -□
4    -□
5    -□
6      -□
7      -□
8      -□

●やりたい事:
例えば上図の1~5の任意のノードの子ノード(できれば子ノードの最初のもの)を取得したい

●目的:
取得した子ノードが更に子ノードを持っているかどうかを確認したい。子ノードが取れれば
その兄弟ノードは取得できると思うので、最初に取得するノードはどれでも良い。


●FirstNode:
MSDNを見るとそのように書いてますね。。。
FirstNodeも含めてMSDNも何度も見ていたんですが、見方が足りなかったようです。


どうもありがとうございました。お騒がせしました。
検証後又書き込みます。


ところでFindですが、今はまだやってないのですが、検索も考えています。
これも作っておけば役に立つかもしれない。。。


#愚痴ですが、APIでもTVM_GETNEXTITEMのフラグにTVGN_CHILDってのがあるし、
VBもChild プロパティってchildが付いている同じ機能のものがあるのに、
新バージョンの同じ機能でなんでFirstNodeなんや!firstchildnodeやろ!と思ってしまいます。^ ^;