これまでWindows10上で一部のダイアログが小さくリサイズできない不具合があったのですが、今回のWindows 10 November updateで解消されました。aviutlでファイルを開く・保存ダイアログが小さくできずに困っていたのですが、ようやく直りました。
この不具合は他のソフトでもあったようですが、おそらくこれらも直っているでしょう。Windows
10 上で、MFC の CFileDialog で作成したダイアログを小さくリサイズできない - JAPAN Platform
SDK(Windows SDK) Support Team Blog - Site Home - MSDN Blogs
Save Dialog Resize Problem - Photoshop CS6
dialog box size issue | Search | Autodesk Knowledge Network
キヤノン:Q&A検索|【ソフトウエア】imageWARE Desktop v4.0.0/V3.2.1 Windows10環境における制限事項
Windows10 で弊社製品を使用する際の注意点について - 株式会社 ダイテック
ちなみに知恵袋でも質問している人がいましたが、「最大化されてるだけ」「ただの勘違い」など質問の趣旨が理解されていませんでした・・・。
不 具合が発生していたのは、OFNHookProcやテンプレートを使ってダイアログをカスタマイズしていたもののようです。以下のコードでは通常のファイ ルダイアログとカスタムしたファイルダイアログを続けて表示しますが、アップデート前はカスタムダイアログの方はサイズを小さくできませんでした。大きく はできるのでうっかり最大化してしまうと悲惨なことになっていました。
レジストリエディタで HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\CIDSizeMRU キーの中にある対象の値を削除します。
バ イナリ値ですが、ダブルクリックするとexeのファイル名が表示されるので、目的のプログラムを探して削除すればダイアログの設定がリセットされます。 CIDSizeMRU キー自体を削除すればすべてのダイアログがリセットされるので、その方が手っ取り早いかもしれません。
Save Dialog Resize Problem - Photoshop CS6
dialog box size issue | Search | Autodesk Knowledge Network
キヤノン:Q&A検索|【ソフトウエア】imageWARE Desktop v4.0.0/V3.2.1 Windows10環境における制限事項
Windows10 で弊社製品を使用する際の注意点について - 株式会社 ダイテック
ちなみに知恵袋でも質問している人がいましたが、「最大化されてるだけ」「ただの勘違い」など質問の趣旨が理解されていませんでした・・・。
不 具合が発生していたのは、OFNHookProcやテンプレートを使ってダイアログをカスタマイズしていたもののようです。以下のコードでは通常のファイ ルダイアログとカスタムしたファイルダイアログを続けて表示しますが、アップデート前はカスタムダイアログの方はサイズを小さくできませんでした。大きく はできるのでうっかり最大化してしまうと悲惨なことになっていました。
#include <windows.h>一応修正前にしていた対処法も書いておきます。
UINT CALLBACK OFNHookProc(HWND hdlg, UINT uiMsg, WPARAM wParam, LPARAM lParam) {
return 0;
}
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR lpCmdLine, int nCmdShow) {
char fileName[MAX_PATH] = "";
OPENFILENAME ofn = {sizeof(ofn)};
ofn.lpstrFile = fileName;
ofn.nMaxFile = sizeof(fileName);
ofn.lpstrFilter = "すべてのファイル(*.*)\0" "*.*\0";
ofn.nFilterIndex = 1;
ofn.Flags = OFN_ENABLESIZING | OFN_EXPLORER;
// 通常
if(GetOpenFileName(&ofn)) {
MessageBox(NULL, fileName, "ファイル名", MB_OK);
}
// カスタム
ofn.lpfnHook = OFNHookProc;
ofn.Flags |= OFN_ENABLEHOOK;
if(GetOpenFileName(&ofn)) {
MessageBox(NULL, fileName, "ファイル名", MB_OK);
}
return 0;
}
レジストリエディタで HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ComDlg32\CIDSizeMRU キーの中にある対象の値を削除します。
バ イナリ値ですが、ダブルクリックするとexeのファイル名が表示されるので、目的のプログラムを探して削除すればダイアログの設定がリセットされます。 CIDSizeMRU キー自体を削除すればすべてのダイアログがリセットされるので、その方が手っ取り早いかもしれません。
コメント
コメント一覧 (1)
もしかして、一部しか解決していないのでは?