ダイアログの初期表示位置を設定する

通常、ダイアログは親ウィンドウに対して中央部に表示される。 これを任意の位置に表示するにはOnInitDialog関数をオーバーライドし、 その中でSetWindowPos関数を使えばよい。
BOOL CDialog1::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: この位置に初期化の補足処理を追加してください
	CRect rect;
	GetWindowRect(&rect);
	SetWindowPos(&wndTop, 0, 0, rect.right - rect.left, rect.bottom - rect.top,
		SWP_SHOWWINDOW);
	
	return TRUE;  // コントロールにフォーカスを設定しないとき、戻り値は TRUE となります
	              // 例外: OCX プロパティ ページの戻り値は FALSE となります
}
上記の例ではダイアログをデスクトップの左上隅に表示する。

目次へ