none
ATLでファイル選択ダイアログを作成したい

    質問

  • ATLで(MFCを使用せず)にファイル選択ダイアログを作成したいです。CFileDialogを使用できないので、

    CAxDialogImplを使って地道にやっていくしかないでしょうか?今時そんなことやる人いないのか情報が少なくて困っています。

    サンプルコードなどございましたらご教授いただきたくよろしくお願いいたします。

    VisualStudio2012を使用しています。

    2018年11月9日 7:59

すべての返信

  • MFCやATLではなくWindows APIにはGetOpenFileNameWGetSaveFileNameWというダイアログを表示するAPIが用意されていますが、それでは不足があるのでしょうか?

    これらダイアログはWindows Vista以降ではCommon Item Dialogに置き換えられていて、こちらもMFCやATL不要です。呼び出し方およびカスタマイズ方法も同ページで紹介されています。

    2018年11月9日 13:21
  • ATLが使えるということは、MFCのソースは持っているのですよね?

    であれば、最高のサンプルとして、 CFileDialog そのものを参照すればよいのではないでしょうか?

    手前味噌でかつ、C++/CLI 向けですが、フォルダ選択のために呼び出してるコードがあるのでサンプルとして貼っておきます。

    _com_ptr_t を使っているのと、フォルダ選択向けの設定になっているという点を除けば、ファイルを開くと同じ段取りです。細かなフラグなどはリファレンスを見てもらえばと思います。

    [C++/CLI]フォルダ選択ダイアログ(コアルーチン)


    とっちゃん@わんくま同盟, Visual Studio and Development Technologies http://blogs.wankuma.com/tocchann/default.aspx

    2018年11月12日 6:43
  • そういう目的(ATLだけで、ATL的にウインドウを操作したい)で出来たのがWTLなわけですね。
    https://sourceforge.net/projects/wtl/files/latest/download
    CFileDiaglogもありますよ。

    jzkey

    2018年11月12日 12:16