none
CFileDialogのツールバーのDPI対応について

    質問

  • MFCのダイアログベースでアプリケーションを開発しています。

    DPIが200%の時にCFileDialogを表示させるとダイアログの右上にあるツールバーが拡大されず小さいままです。

    このツールバーを拡大させることはできるのでしょうか。

    ●ソースコード

    INT nFlag = OFN_LONGNAMES | OFN_NOCHANGEDIR | OFN_EXPLORER | OFN_ENABLESIZING;
    CString filter = "*.bmp";
    CFileDialog filedlg(TRUE, NULL, NULL, nFlag, filter, NULL, 0, FALSE);
    filedlg.DoModal();

    ●動作環境

    OS:Windwos10 Pro

    IDE:VS2013 Professional Update5


    • 編集済み mnbfmt 2017年4月24日 2:57 ソースコード追記
    2017年4月24日 2:55

回答

  • あえて、XPまでの古い形式を指定しているようですが、Vista以降の形式(最後のパラメータのFALSEをTRUEに変更するもしくは省略する)ではだめですか?


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

    2017年4月24日 4:40
  • ファイルダイアログの拡張機能に、ツールバーのアイコン画像を差し替える手段が提供されていないと思います。

    なので、Vista以降の形式にするか、あきらめるかのいずれかしかないと思います。

    機能拡張の変更コストはなにをやってるか次第なので、ボリューム感はわかりませんが、初期パス問題はあらかじめフルパスにするなどで対応していくことで何とかなるのではないでしょうか?

    どんなパターンで失敗するかわからないので何とも言えませんけど。。。


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

    2017年4月24日 5:27

すべての返信

  • あえて、XPまでの古い形式を指定しているようですが、Vista以降の形式(最後のパラメータのFALSEをTRUEに変更するもしくは省略する)ではだめですか?


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

    2017年4月24日 4:40
  • とっちゃんさん 返信ありがとうございます。

    XP形式にしているのは以下の理由です。できればVISTA以降形式にしたくないので、XP形式で対応する方法をご教示いただければ幸いです。

    ・XP形式に合わせてCFileDialog拡張しているため、VISTA以降形式にするために手を加えるのが大変であるため。

    ・VISTA形式のCFileDialogは初期ファイルパスにドライブレターを含めていない場合に、初期パスがマイドキュメントになって問題があるため。

    2017年4月24日 5:05
  • ファイルダイアログの拡張機能に、ツールバーのアイコン画像を差し替える手段が提供されていないと思います。

    なので、Vista以降の形式にするか、あきらめるかのいずれかしかないと思います。

    機能拡張の変更コストはなにをやってるか次第なので、ボリューム感はわかりませんが、初期パス問題はあらかじめフルパスにするなどで対応していくことで何とかなるのではないでしょうか?

    どんなパターンで失敗するかわからないので何とも言えませんけど。。。


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

    2017年4月24日 5:27
  • とっちゃんさんご回答ありがとうございます。

    XP形式のCFileDialogのツールバーのアイコンを差し替える手段がないことがわかりました。

    機能拡張をVISTA形式に合わせて、初期パスも修正することはそこまで大変ではないと思いますが、ツールバーが小さいだけの問題ですので、対応コスト次第ではVISTA形式に変更してみようと思います。

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

    2017年4月24日 6:21