- ベストアンサー
Win7 ファイル選択ダイアログについて
GetOpenFileName()で、ファイル選択ダイアログを開いています。 画面表示を640×480にしていると、ファイル選択ダイアログの全体が表示されません。 LPOPENFILENAME lpofn内にはダイアログの大きさを指定するパラメータは 有りませんでした。 WinXPでは全体が表示されていました。 ダイアログのwindowsサイズを変更する方法をご存知の方、 お知らせください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ちょこちょこ試してみた。 サイズは参考…ですかね。 Windows7 Professional 64BitにVC++2010 EEです。 ・FlagsExにOFN_EX_NOPLACESBARを指定する。 =>WindowsXPの頃のプレースバーが無い状態のスタイルになる。 515x276 ・FlagsにOFN_ENABLEHOOKを付ける。 OFN_EXPLORERは指定なし、FALSEを返却するだけのフックをlpfnHookに設定する。 FlagsExにOFN_EX_NOPLACESBARの指定なし。 =>Windows3.1の頃のスタイルになる。 503x239 ・FlagsにOFN_ENABLEHOOKを付ける。 OFN_EXPLORERは指定あり、FALSEを返却するだけのフックをlpfnHookに設定する。 FlagsExにOFN_EX_NOPLACESBARの指定なし。 =>WindowsXPの頃のプレースバーがある状態のスタイルになる。 664x394 ・FlagsにOFN_ENABLEHOOKを付ける。 OFN_EXPLORERは指定あり、FALSEを返却するだけのフックをlpfnHookに設定する。 FlagsExにOFN_EX_NOPLACESBARの指定あり。 =>WindowsXPの頃のプレースバーが無い状態のスタイルになる。 515x276 フック指定するとWindows7のスタイル(「戻る」「進む」ボタンのある形式)にはなりませんね。 テンプレート指定は試していないので不明です。 「画面の解像度」で指定できるのは…800x600が最低ですね。 # Aero有効ですが。無効に切り替えてまで試す気はなし。
その他の回答 (2)
- Wr5
- ベストアンサー率53% (2173/4061)
OPENFILENAME構造体はそれぞれどんな設定になっているのでしょうか? 旧形式のコモンダイアログとかあったりしますけど、その辺りとかどうなるんでしょうかね? # というか、Windows7でWindows3.1の頃の形式のダイアログ出るんだろうか? Windows7でデスクトップのサイズって800x600が最小だったような気がしますが……現在手元にWindows7がないので未確認です。 # 家帰れば……。 サイズ変更が可能なコモンダイアログ…だったと思いますので、どうしても…という場合はフックでCDN_INITDONEのメッセージが来た時にサイズを変更しちゃう…というのもアリかもしれません。
お礼
お知らせありがとうございました。 フックの手間をかけたくなかったので、Wr5さんの ・FlagsExにOFN_EX_NOPLACESBARを指定する。 を採用させていただきました。 ありがとうございました
- Yune-Kichi
- ベストアンサー率74% (465/626)
フックプロシージャを使って変更するしかないと思います。 WM_INITDIALOGでMoveWindowすればなんとかなるかと。 ref) http://msdn.microsoft.com/en-us/library/ms646839 ただし,Windows XPですらSystem Requirementsとして800 x 600以上の解像度を要求しています。 640 x 480という解像度はシステムから見たら元々対象外なのだと思いますよ。 ref) http://support.microsoft.com/kb/314865/ja
お礼
お知らせありがとうございました。 フックの手間をかけたくなかったので、Wr5さんの ・FlagsExにOFN_EX_NOPLACESBARを指定する。 を採用させていただきました。 ありがとうございました
お礼
ありがとうございました。 ・FlagsExにOFN_EX_NOPLACESBARを指定する。 にすることにしました。 助かりました