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

ダイアログ(モードレス)を親ウィンドウ...
 
通知
すべてクリア

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


カノン
 カノン
(@カノン)
ゲスト
結合: 20年前
投稿: 22
Topic starter  

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


引用未解決
トピックタグ
カノン
 カノン
(@カノン)
ゲスト
結合: 20年前
投稿: 22
Topic starter  

自己レスですいません。
OnInitDialog()の中でCenterWindow()で簡単にできますね。
もうちょっと頑張って調べてから質問するべきでした。^^;


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

考え方としては、
親ウィンドウの座標と幅、高さ、ダイアログの幅、高さから、
ダイアログの座標を算出して、位置を移動させます。

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


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

僅差でお気づきのようでしたね。


返信引用
カノン
 カノン
(@カノン)
ゲスト
結合: 20年前
投稿: 22
Topic starter  

sugar様

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


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

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