■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#20019-0
Tree Viewコントロールにフォルダ情報を表示
Tree Viewコントロールにエクスプローラのようなフォルダ情報とフォルダ左隣のアイコンを
いっきに表示させるにはどのようにしたらよいのでしょうか?。

「TreeView1.Nodes.Add...」で1行1行追加していくしかないのでしょうか?。
ループやAPI関数などで対応できるのでしょうか?。
知っている方がいらっしゃいましたら教えていただけないでしょうか?。

#20020-0
RE#20019:Tree Viewコントロールにフォルダ情報を表示
> 「TreeView1.Nodes.Add...」で1行1行追加していくしかないのでしょうか?。

どの辺がわからなくて、一番聞きたいことが何かわかりませんが、
ツリー表示するデータがまだ用意されていないなら、データを用意して、
TreeView1.Nodes.Addで1つずつ追加していきましょう。
#20021-0
RE#20020:Tree Viewコントロールにフォルダ情報を表示
> > 「TreeView1.Nodes.Add...」で1行1行追加していくしかないのでしょうか?。
> 
> どの辺がわからなくて、一番聞きたいことが何かわかりませんが、
> ツリー表示するデータがまだ用意されていないなら、データを用意して、
> TreeView1.Nodes.Addで1つずつ追加していきましょう。
  早速の回答ありがとうございます。
 やりたい事は、TreeViewコントロールを使用してエクスプローラー風なファイラーを作成したいのです。
 初心者なので何をどのような手順ですすめたらいいのかわからず投稿いたしました。
#20022-0
RE#20021:Tree Viewコントロールにフォルダ情報を表示
>  やりたい事は、TreeViewコントロールを使用してエクスプローラー風なファイラーを作成したいのです。

Brad Martinezさん( http://www.mvps.org/btmtz/ )が公開している、
VBExploerのコードを参考にするとか。

http://www.mvps.org/btmtz/vbexplorer/
#20025-0
RE#20022:Tree Viewコントロールにフォルダ情報を表示
> >  やりたい事は、TreeViewコントロールを使用してエクスプローラー風なファイラーを作成したいのです。
> 
> Brad Martinezさん( http://www.mvps.org/btmtz/ )が公開している、
> VBExploerのコードを参考にするとか。
> 
> http://www.mvps.org/btmtz/vbexplorer/
  上記ソフトをダウンロードして実行してみました。
 アプリケーション上のFileメニューのExitを選択すると正常終了するのですが、
 VB上の■(終了)を押して終了させると「不正な処理。。。」というメッセージが表示され
 強制終了してしまいます。
 何がいけないのでしょうか?。わかる方がいらっしゃいましたら教えていただきたいと思います。
 
#20035-0
RE#20025:Tree Viewコントロールにフォルダ情報を表示
匿名20020です。

> > >  やりたい事は、TreeViewコントロールを使用してエクスプローラー風なファイラーを作成したいのです。
> > 
> > Brad Martinezさん( http://www.mvps.org/btmtz/ )が公開している、
> > VBExploerのコードを参考にするとか。
> > 
> > http://www.mvps.org/btmtz/vbexplorer/

ぶっちゃけた話、このコードはほんとうの初心者さんが簡単に参考にできる
コードじゃありません。API、サブクラス化、その他高度なわざ満載のソースです。

>   上記ソフトをダウンロードして実行してみました。
>  アプリケーション上のFileメニューのExitを選択すると正常終了するのですが、
>  VB上の■(終了)を押して終了させると「不正な処理。。。」というメッセージが表示され
>  強制終了してしまいます。

このサンプルはサブクラス化というわざを使っていますが、
これをやっているときは、■ボタンでの終了は基本的にできません。

DbgReadme.txtを斜め読みするとDbgwproc.dllを使うことでどうもこの状態になるのを
回避できるようですが、はじめたばかりの方ではこれらは混乱するだけだと思います。

>  何がいけないのでしょうか?。わかる方がいらっしゃいましたら教えていただきたいと思います。

水を差すようですが、このサンプルのことは忘れた方がよいと思います。

さて、エクスプローラライクなファイラーをということですが、いっぺんにはできませんので、
TreeViewやListViewコントロールの使い方、ファイル名の列挙の仕方等から順番に勉強しましょう。

TreeView1.Nodes.Addで単純に1つの項目を追加することはできていますか?
ファイル名の列挙には、Dir関数を使う方法やFileSystemObjectを使う方法などがありますが、
これらの使い方はわかりますか?

ヘルプやこのサイトの過去ログなどで調べつつ、まずは挑戦してみて下さい。
そうすればもっと具体的な内容の疑問が湧いてくるはずです。
それでまたわからない点がでてきたら、ここで質問すればよいでしょう。

ヘルプには使用例もありますので、活用しましょう。
例えばDir関数ならあるフォルダを指定してそこのファイルを列挙するサンプルコードもあります。
#20040-0
RE#20035:Tree Viewコントロールにフォルダ情報を表示
> さて、エクスプローラライクなファイラーをということですが、いっぺんにはできませんので、
> TreeViewやListViewコントロールの使い方、ファイル名の列挙の仕方等から順番に勉強しましょう。
> 
> TreeView1.Nodes.Addで単純に1つの項目を追加することはできていますか?
> ファイル名の列挙には、Dir関数を使う方法やFileSystemObjectを使う方法などがありますが、
> これらの使い方はわかりますか?

  利用できるドライブを検索し、ドライブ,フォルダ名をTreeViewに表示させる方法がわかりません。
 どなたか教えてください。
#20043-0
RE#20040:Tree Viewコントロールにフォルダ情報を表示
>   利用できるドライブを検索し、ドライブ,フォルダ名をTreeViewに表示させる方法がわかりません。

匿名20020さんも仰っていますが、いっぺんにやろうとするのは無茶です。
行いたい事を各パーツに分ける様な癖を付けましょう。
今回の質問内容の場合

1、有効なドライブの取得
2、フォルダ名の取得
3、ファイル名の取得
4、TreeViewの表示

と、4つに分かれます。

とりあえず、"欲しいものが取得できない"という状態ではTreeViewもへったくれ
もありません。表示するものが取得できてからTreeViewを意識すると良いです。

情報取得の為にまず、FileSystemObject のヘルプを一通り目を通しておきましょう
特に
FileSystemObject オブジェクトのDrives プロパティ
Folder オブジェクトのSubFolders プロパティ
などのコレクション取得あたりが重要になってきます。
#これらにはヘルプにサンプルが書いてあったはず。
#20070-0
RE#20043:Tree Viewコントロールにフォルダ情報を表示
> 1、有効なドライブの取得
> 2、フォルダ名の取得
> 3、ファイル名の取得
> 4、TreeViewの表示
> 
> と、4つに分かれます。

1、有効なドライブの取得->GetLogicalDrives関数(API)を使用
2、フォルダ名の取得  ->Dir関数を使用
上記に関しては2つの関数を使用して取得することができました。

●サブフォルダ名,ファイル名の取得方法がわかりません。
 どの関数をどのように使用したらよいのでしょうか?。わかる方よろしくお願いします。
#20071-0
RE#20070:Tree Viewコントロールにフォルダ情報を表示
> ●サブフォルダ名,ファイル名の取得方法がわかりません。
>  どの関数をどのように使用したらよいのでしょうか?。わかる方よろしくお願いします。

あるフォルダを指定してDir関数を使い、
ヘルプのDir関数の使用例のように使うと直下のフォルダを列挙できますよね?

A--B
 --C
 --D--E
    --F
    --G

Aを指定して、BCDが列挙できたら、今度は、例えばDを指定すれば、EFGを列挙できます。

ただし、Dir関数では工夫しないと再帰的に使用できませんので、
FileSystemObjectを使った方が簡単でしょう。
#20072-0
RE#20070:Tree Viewコントロールにフォルダ情報を表示
> 1、有効なドライブの取得->GetLogicalDrives関数(API)を使用
> 2、フォルダ名の取得  ->Dir関数を使用
> 上記に関しては2つの関数を使用して取得することができました。

FileSystemObjectを使わない方法を選択されたのですね。

> ●サブフォルダ名,ファイル名の取得方法がわかりません。
>  どの関数をどのように使用したらよいのでしょうか?。わかる方よろしくお願いします。
FileSystemObjectを使えば、フォルダ再帰は安全かつコードも短く(10数行)出来てしまうのですが、
使わないのであれば、Dir関数を活用する事になります。取得したフォルダのPathを使って、再びDir
を実行します。但し、Dir関数は複数行う事は出来なかったように記憶しています。従って、一度Dir
で取得したものは、配列などに退避させ、その後にDirを新たに実行します。

因みに、エクスプローラは、ツリーの中のフォルダをクリックした時にクリックされたフォルダ下の階層
を読み込んでいます。
ま、階層を下るのは1段だけでOKという事ですね。
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)