-PR-
解決
済み

ダイアログを自分の好きな位置に表示したい

  • すぐに回答を!
  • 質問No.77713
  • 閲覧数5405
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 71% (83/116)

VCで簡単なプログラムを造っています。
ダイアログベースです。
EXE を実行した時に表示されるダイアログを、自分の指定した位置に
表示させる方法はあるでしょうか。
また、そのダイアログから DoModal関数で別のダイアログを表示する場合、
同様に、自分の指定した位置に表示させる方法はあるでしょうか。
デフォルトのままだと、1つ目のダイアログは画面の中央に、
DoModal関数で表示させたダイアログは、1つ目のダイアログの上に
なります。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.1
レベル13

ベストアンサー率 33% (427/1283)

表示されるダイアログの方で設定する事で簡単に出来ます。


サンプルコード
 ダイアログの初期化ルーチン内で行います。サンプルコードでは、クライアント領域の中央にでる様にしています。
 ソースを読めば大体何をやっているのか解ると思うので、解説は許して下さいね。

BOOL CHogeHoge::OnInitDialog()
{
CDialog::OnInitDialog();

// TODO: この位置に初期化の補足処理を追加してください
RECTlpRect;
intx,y;
GetClientRect(&lpRect);
//
x = m_rect.left - (lpRect.right / 2);
y = m_rect.top - (lpRect.bottom / 2);
SetWindowPos(NULL,x,y,0,0,SWP_NOSIZE | SWP_NOZORDER );
//
return TRUE; // コントロールにフォーカスを設定しないとき、戻り値は TRUE となります
// 例外: OCX プロパティ ページの戻り値は FALSE となります
}
お礼コメント
nabezo-

お礼率 71% (83/116)

ありがとうございました。
解決することができました。
投稿日時 - 2001-05-18 20:43:24
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ