ダイアログボックスの表示位置

[戻る]
まる 2002/05/16(木) 16:22:54
お世話になっております。
まると申します。
VC++6.0、SDK、Win2000で開発中です。

現在、WinMainからDialogBox関数でダイアログを表示させているのですが、
必ず画面の左上に表示されてしまいます。
これを、画面中央に表示させたいのですがどのようにすればよいのでしょうか?
引数でそれを実現できるものは無いようですが。。。
WM_INITDIALOG内でダイアログを移動させるという方法しか思いつきません。

ダイアログを中央に表示させる方法をお教えください。
よろしくお願い致します。

sugar 2002/05/16(木) 16:51:00
WM_INITDIALOGで処理できればいいような気もしますが...
ダイアログのプロパティに「中央」っていうのがありますが、
これは通用しないのかナ...?

ぴろり 2002/05/16(木) 17:01:13
SetWindowPos()関数でいけますよん♪
楽ちんなので使用方法・詳細などはMSDNで。

まる 2002/05/16(木) 17:10:56
[[解決]]
>sugarさん
ありがとうございます!
使用経験不足で、「中央」という物をしりませんでした。。。。
これで十分です!
ありがとうございました。

>ぴろりさん
SetWindowPos調べて見ました。
この関数でいけますね!!
今回はダイアログなので、リソースエディタで中央を使いますが、
SDIなどで使えますね!

ご教授ありがとうございました!

sugar 2002/05/16(木) 17:49:45
解決されたようですが、あえて補足です。

ダイアログプロパティの「中央」にチェックを入れると、
ダイアログのスタイルに DS_CENTER が追加されるようです。
問題解決の本質としては、DS_CENTERを含ませればよい、ということですね。

まる 2002/05/17(金) 11:06:59
[[解決]]
>sugarさん
さらにご教授いただきありがとうございます!
DS_CENTERですか?
DialogBoxの関数にスタイル指定の引数が無かったのでわからなかったのですが、
そのスタイルの指定方法も調べてみたいと思います。
ありがとうございました!

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