いつもお世話になります。
フォルダを選択したいのですが、そのときにファイルの一覧も見えるようにしたいのです。
コモンダイアログでの見え方で良いのですが、コモンダイアログではファイルを選択せねばならず、
空のフォルダを指定できません。
検索してみましたが、フォルダツリーだけしか見えないものばかりで、何のファイルが入っているのか
確認できるものはちょっと見つかりませんでした。
こういう場合、どのようにするのが良いのでしょうか?
フォルダ選択ダイアログを使っては如何でしょうか。
フラグの指定で、ファイルも表示させられますよ。
ActiveXなら、ShellオブジェクトのBrowseForFolderメソッド、
APIなら、SHBroseForFolder関数ですね。
ありがとうございます。
BrowseForFolderで検索したところ
http://madia.world.coocan.jp/vb/vb_bbs/200402_04020056.html
これが引っかかりました。
そのまま実行してみたのですが、フォルダしか表示されません。
どのフラグがファイル表示指定になるのでしょうか?
ツリービューにフォルダの構成出してツリービュー選択時に
横のリストビューにファイル表示で自作してもそんなに難しく
ないですけどね。まぁ、出来てるものを利用するのは悪いこと
では無いと思います。おまけの情報としてカキコ…
ちゃんとファイルまで選択できましたよ。
BIF_BROWSEINCLUDEFILESをulFlagsにセットしてるので
出来るはずですが。
WinXP VB6.0SP5
> そのまま実行してみたのですが、フォルダしか表示されません。
> どのフラグがファイル表示指定になるのでしょうか?
okuさんが答えてくださいっていますが、フォルダとファイルを表示するためのフラグは、BIF_BROWSEINCLUDEFILES です。
それでも動作しなかったのであれば、環境の問題が考えられます。
keiさんがお使いの環境は何ですか? BIF_BROWSEINCLUDEFILES を使うには、Shell32.DLL Ver.4.71以上の環境が要求されます。4.0系など、古い環境では利用できませんので、その場合は、特攻隊長まるるうさんが書かれた様に、TreeViewなどを使って自作する事も検討して見てください。
# ところでokuさん。WinXP + VB6.0SP5をお使いとの事ですが、
# XPのSP1aや、VB6のSP6は適用されないのですか?
ありがとうございます。
環境を書くのを忘れていました・・・。
Win2000Server + VB6.0です。
SPの状態までは今ちょっと詳しくわかりません。
家のほうに環境がないので、すみませんが月曜日の出社後に試して結果を報告します。
おおー、いつのまにかVBのServicePack6出てたんですね。
昔SP5でマイクロソフトは終わりって誰かに聞いたので、
チェックしてませんでした。早速DLします。ありがとうございます。
OSはSP1 ビルド2600ですが、SP1aとは違うんですか?
Windows Updateは欠かさず行ってるんですけど。
# 元質問からは脱線します。すみません。
》okuさん
> おおー、いつのまにかVBのServicePack6出てたんですね。
先々週にリリースされたばかりなので、知らない人も多いようですね。
http://www.microsoft.com/japan/msdn/vstudio/downloads/sp/VS6SP6.asp
> OSはSP1 ビルド2600ですが、
SP1が適用済みならば大丈夫ですよ。VBの方だけSPの記述があったので、
「OS側にはSPを適用していないのかな?」と思ってしまいました。(^^;
> SP1aとは違うんですか?
SP1aには、Javaアプレット動作用の Microsoft仮想マシンが
含まれていないという点を除けば、SP1と全く同じ物です。
[Windows XP SP1 と Windows XP SP1a の相違点]
http://support.microsoft.com/default.aspx?scid=kb;ja;813926
[Microsoft Java 仮想マシンからの移行]
http://www.microsoft.com/japan/java/default.asp
ついでに言うと、近いうちにXPのSP2も登場しますので、覚悟(?)しておいて下さい。(^^;)
(先日、事前セミナーも開かれました)
http://www.mspj.co.jp/wxpsp2dev/
> Windows Updateは欠かさず行ってるんですけど。
おぉ、常にOSを最新の状態に保っておくのは良い事ですね。(^^
Windows Updateの話が出たついでに、MSBA 1.2を紹介しておきます。(既に御存知だったら済みません)
http://www.microsoft.com/japan/technet/security/tools/mbsahome.asp
http://www.atmarkit.co.jp/fwin2k/operation/mbsa12-01/mbsa12-01_01.html
各種パッチを更新していても、設定がいい加減だったりすれば、セキュリティは万全とは言えませんよね。MSBAを使うと、そうしたセキュリティホールを報告してくれますので、一度試して見てください。
確かめてみました。
環境はWin2000SP4、VB6.0SP5でした。
SP6が出てるんですね。
適用せねば。
Shell32.DLLは5.0.3700.6705でした。
フォルダの参照ダイアログなのですけど、選んだフォルダ名を表示するテキストボックスがあり、
その下にツリービューが表示されるだけです。
ただ、テキストボックスとCaptionバーの間にスペースがあるので、もしかするとその場所に
ファイル一覧が出るのが正常なのか?と思います。
もうちょっと調べてみます。
あー、分かりました。
理解できましたというか勘違いしていました。
ファイルって、こういう形で表示されるんですね。
てっきりファイル一覧だけが別のスペースに表示されるのかとばかり思っていました。
ちょっと予想外でしたが、これでもいいかどうか確認したいと思います。
ダメなら自作ですね。
ありがとうございました。