通知
すべてクリア
Topic starter
2002年6月18日 7:13 PM
CFileDialogのダイアログをトップウィンドウに表示させるためにはどうしたら良いでし
ょう?現在、CFileDialogの派生クラスを設け、OnInitDialog関数内で
ModifyStyleEx(NULL, WS_EX_TOPMOST, SWP_NOSIZE | SWP_FRAMECHANGED |
SWP_SHOWWINDOW | SWP_NOMOVE);
としているのですがうまいこといきません。どなたか良い方法をご存知でしたらご教授
ください。
環境:VC++6.0,WindowsXP,MFC
2002年6月18日 8:25 PM
TOPMOSTの設定は、SetWindowPos()を利用した方がよいようです。
Topic starter
2002年6月19日 9:40 AM
試しに
SetWindowPos(&wndTopMost, 0, 0, 100, 100, SWP_NOSIZE | SWP_SHOWWINDOW |
SWP_NOMOVE);
と設定してダイアログを最上位に表示することはできませんでした。
2002年6月19日 11:08 AM
CFileDialogは、実は、システムが表示するダイアログそのものではなく、
その中に埋め込まれた子ダイアログです。
なので、OnInitDialogにて
GetParent()->SetWindowPos(...);
とします。
Topic starter
2002年6月19日 1:55 PM
dairygoodsのおっしゃった通りにやりましたら成功しました。ありがとうございまし
た。