ダイアログをトップウィンドウに表示させるためには? – プログラミング – Home

ダイアログをトップウィンドウに表示させ...
 
通知
すべてクリア

[解決済] ダイアログをトップウィンドウに表示させるためには?


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

CFileDialogのダイアログをトップウィンドウに表示させるためにはどうしたら良いでし
ょう?現在、CFileDialogの派生クラスを設け、OnInitDialog関数内で
ModifyStyleEx(NULL, WS_EX_TOPMOST, SWP_NOSIZE | SWP_FRAMECHANGED |
SWP_SHOWWINDOW | SWP_NOMOVE);
としているのですがうまいこといきません。どなたか良い方法をご存知でしたらご教授
ください。

環境:VC++6.0,WindowsXP,MFC


引用未解決
トピックタグ
sugar
 sugar
(@sugar)
ゲスト
結合: 24年前
投稿: 448
 

TOPMOSTの設定は、SetWindowPos()を利用した方がよいようです。


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

試しに
SetWindowPos(&wndTopMost, 0, 0, 100, 100, SWP_NOSIZE | SWP_SHOWWINDOW |
SWP_NOMOVE);
と設定してダイアログを最上位に表示することはできませんでした。


返信引用
dairygoods
 dairygoods
(@dairygoods)
ゲスト
結合: 23年前
投稿: 1421
 

CFileDialogは、実は、システムが表示するダイアログそのものではなく、
その中に埋め込まれた子ダイアログです。

なので、OnInitDialogにて
GetParent()->SetWindowPos(...);
とします。


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

dairygoodsのおっしゃった通りにやりましたら成功しました。ありがとうございまし
た。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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