アプリ版:「スタンプのみでお礼する」機能のリリースについて

GetOpenFileName()で、ファイル選択ダイアログを開いています。
画面表示を640×480にしていると、ファイル選択ダイアログの全体が表示されません。

LPOPENFILENAME lpofn内にはダイアログの大きさを指定するパラメータは
有りませんでした。

WinXPでは全体が表示されていました。

ダイアログのwindowsサイズを変更する方法をご存知の方、
お知らせください。

A 回答 (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有効ですが。無効に切り替えてまで試す気はなし。
    • good
    • 0
この回答へのお礼

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

・FlagsExにOFN_EX_NOPLACESBARを指定する。

にすることにしました。
助かりました
 

お礼日時:2012/07/23 14:24

OPENFILENAME構造体はそれぞれどんな設定になっているのでしょうか?



旧形式のコモンダイアログとかあったりしますけど、その辺りとかどうなるんでしょうかね?
# というか、Windows7でWindows3.1の頃の形式のダイアログ出るんだろうか?

Windows7でデスクトップのサイズって800x600が最小だったような気がしますが……現在手元にWindows7がないので未確認です。
# 家帰れば……。

サイズ変更が可能なコモンダイアログ…だったと思いますので、どうしても…という場合はフックでCDN_INITDONEのメッセージが来た時にサイズを変更しちゃう…というのもアリかもしれません。
    • good
    • 0
この回答へのお礼

お知らせありがとうございました。
フックの手間をかけたくなかったので、Wr5さんの
・FlagsExにOFN_EX_NOPLACESBARを指定する。
を採用させていただきました。

ありがとうございました

お礼日時:2012/07/23 14:27

フックプロシージャを使って変更するしかないと思います。


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
    • good
    • 0
この回答へのお礼

お知らせありがとうございました。
フックの手間をかけたくなかったので、Wr5さんの
・FlagsExにOFN_EX_NOPLACESBARを指定する。
を採用させていただきました。

ありがとうございました

お礼日時:2012/07/23 14:28

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!