ファイル選択ダイアログのサイズ – プログラミング – Home

ファイル選択ダイアログのサイズ
 
通知
すべてクリア

[解決済] ファイル選択ダイアログのサイズ


K
 K
(@K)
ゲスト
結合: 23年前
投稿: 98
Topic starter  

ファイル選択ダイアログにlpTemplateNameを指定し、拡張したダイアログを表示する
と、当然サイズが通常よりも大きくなります。

その後、同一プロセス内で拡張なし(lpTemplateNameをNULL)のファイル選択ダイアロ
グを表示すると、拡張して大きくなったときのままのサイズで表示されてしまいます。

元サイズに戻すにはどうしたらいいんでしょうか?
大きくなったままだと不恰好なので・・・

CFileDialogでもGetOpenFileName/GetSaveFileNameでもかまいません。


引用未解決
トピックタグ
つばさ
 つばさ
(@つばさ)
ゲスト
結合: 23年前
投稿: 16
 

OPENFILENAME構造体の中身を見てみると

Flags OFN_ENABLETEMPLATE 
lpTemplateName メンバと hInstance メンバで指定されるダイアログ テンプレートを利
用してダイアログボックスを作成します。

とあります

lpTemplateNameだけでなく Flags、hInstanceの値も関係してると思われます

↓参考にしてください
http://www.activebasic.com/help_center/Pages/API/Window/CommonDialogBox/type_OPE
NFILENAME.htm


返信引用
ぬ
 ぬ
(@ぬ)
ゲスト
結合: 18年前
投稿: 39
 

ダイアログサイズ変更許可のフラグ切れば良いって話では無い?
違ったらごめん。


返信引用
K
 K
(@K)
ゲスト
結合: 23年前
投稿: 98
Topic starter  

2回目に表示した時は、OFN_ENABLETEMPLATEもOFN_ENABLETEMPLATEHANDLEも指定していま
せんし、hInstance、lpTemplateName はNULLです。

>ダイアログサイズ変更許可のフラグ切れば良いって話では無い?
ん、確かにこれだとデフォルトのサイズに戻りますが、
サイズ変更はできてもいいと思います。

試しに、メモ帳のファイル選択ダイアログを開き、サイズを大きくしてみます。
閉じてからもう一度開くと、大きくなったまま開きました。
どうも、コモンダイアログの仕様っぽいです。

自分で大きくした場合はそのままでもいいけど、拡張して大きくなった分は
元に戻して欲しいです。

ちなみに、Windows XP SP2で確認しています。


返信引用
ぬ
 ぬ
(@ぬ)
ゲスト
結合: 18年前
投稿: 39
 

まぁ、コモンダイアログは次回起動時に前回のディレクトリ覚えてたりするのでそれ
と同じでサイズも記録してるんでしょうね…。

設定保存に関しても設定できてよさそうだからなんかAPIかフラグはあると思う。
レジストリにエントリがあったと思うけど、最悪自分の分のコモンダイアログのレジス
トリを変更すればいいのかな。


返信引用
K
 K
(@K)
ゲスト
結合: 23年前
投稿: 98
Topic starter  

MSDNを見ても、レジストリはプレイスフォルダの設定くらいしか見当たりません。
フラグもなさそうなんですよね・・・

フックしてCDN_INITDONEあたりで無理やりサイズ変更とかしかなさそうです。
あきらめるorフックの方向で進めたいと思います。
ありがとうございました。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました