複数フォルダの選択をするには?

解決


りゃい  2005-06-19 23:37:33  No: 57983  IP: 192.*.*.*

VC初心者です。
フォルダ選択ダイアログ(API)で、複数フォルダを指定させることは出来ますでしょうか?

ご経験のある方がおられましたら、ご教授下さい。

編集 削除
シャノン  2005-06-20 08:29:46  No: 57984  IP: 192.*.*.*

フォルダ選択ダイアログとは、SHBrowseForFolder のことでしょうか。
であれば、不可能です。
あの関数は戻り値として単一の ITEMIDLIST を返すようになっており、仮に表示上で複数選択ができたとしても、どれを選択したのか知る術がありません。
戻り値を当てにせず、コールバック関数内でどれが選択されているかを記憶しておくというのも考えましたが、BFFM_SELCHANGED はアイテムの選択が解除されたときには送られてきません。
そもそも、ツリービュー自体が標準では複数選択をサポートしていません。
その上で、アイテムの選択解除を検知したいと思ったら、SHBrowseForFolder で表示されるダイアログをサブクラス化して云々しなければならなくなるでしょう。
似たような自作ダイアログを作ったほうが楽だと思います。

編集 削除
りゃい  2005-06-27 09:48:21  No: 57985  IP: 192.*.*.*

返信が遅れて、申し訳ございません。

SHBrowseForFolder で考えておりましたが、
ちょっと広い範囲で考え直してみます。

ご教授していただいてありがとうございました。

編集 削除