こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

CFileDialogでフォルダだけを選択させる

 いままで組込みを中心にC/C++で業務を行ってきました。
 今回、Windows7 SP1上でVC++ 2008のMFC環境で動作するツールを作成することになり
 仕様としてCFileDialogなどのファイル選択画面でファイルではなく、フォルダのみを選択させるようにすることができないかと質問されましたが可能でしょうか?
 あるいは別の方法があるでしょうか?

投稿日時 - 2012-02-14 00:56:20

QNo.7303964

すぐに回答ほしいです

質問者が選んだベストアンサー

VC++ 2008 以上ならば CShellManager::BrowseForFolder() が使えると思います。
http://msdn.microsoft.com/ja-jp/library/bb983670(v=vs.90).aspx

ただし、CShellManager のクラス説明にこのオブジェクトを「手動で作成しないでください」と書かれています。その代わり、 CWinAppEx::GetShellManager() を呼べば適切なオブジェクトが取得できるようです。
http://msdn.microsoft.com/ja-jp/library/bb983147(v=vs.90).aspx

なお、VC++ が 2005 以前の場合は ::SHBrowseForFolder() を使う必要があります。リファレンスは以下の URL ですが、実際の使い方は関数名で検索したらいくつかでてきますのでそちらを参考にしてください。……まあ、上のメソッドが使えるならばこちらの関数は使わなくてもいいのですが。
http://msdn.microsoft.com/en-us/library/windows/desktop/bb762115(v=vs.85).aspx

投稿日時 - 2012-02-14 02:12:23

お礼

回答ありがとうございます。

以前に::SHBrowseForFolder() を活用された方が見えたので
その方のアドバイスもあり無事解決しました。

投稿日時 - 2012-02-18 20:21:56

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問