ダイアログ(モードレス)を親ウィンドウの中央に表示させるには?

[戻る]
カノン 2005/01/26(水) 09:07:33
お世話になります。Win2000でVC++6.0 SP4 を使っております。
SDIフォームビューアプリを作っているのですが、Viewからモードレスダイアログを
画面全体のではなく、親(View)ウィンドウの中央に表示(Create)させるには
どのようにすればいいでしょうか?
モーダルダイアログではリソースプロパティでX座標Y座標を、それぞれ0のままに
しておけば勝手に中央に現れるのですが、モーダルダイアログでは?
左上隅に現れますし、拡張スタイルの中央にチェックマークを入れても
あれは画面の中央ですよね?
ぜひご教授下さい。よろしくお願い致します。

カノン 2005/01/26(水) 09:19:18
[[解決]]
自己レスですいません。
OnInitDialog()の中でCenterWindow()で簡単にできますね。
もうちょっと頑張って調べてから質問するべきでした。^^;

sugar 2005/01/26(水) 09:22:05
考え方としては、
親ウィンドウの座標と幅、高さ、ダイアログの幅、高さから、
ダイアログの座標を算出して、位置を移動させます。

MFCを使っているなら、CWnd::CenterWindow()って使えませんかね…?

sugar 2005/01/26(水) 09:23:00
僅差でお気づきのようでしたね。

カノン 2005/01/26(水) 10:47:56
sugar様

ご親切にレス頂き、ありがとうございました。
今後ともよろしくお願い致します。

古いスレッドには追加発言できません。