WM_INITDIALOG メッセージへの応答として呼び出されます。
virtual BOOL OnInitDialog( );
アプリケーションがダイアログ ボックスのコントロールの 1 つに入力フォーカスを設定したかどうかを返します。Windows がダイアログ ボックスの最初のコントロールに入力フォーカスを設定した場合は、0 以外の値を返します。アプリケーションがダイアログ ボックスのコントロールの 1 つに明示的に入力フォーカスを設定した場合は、0 を返します。
このメッセージは、Create 関数、CreateIndirect 関数、または DoModal 関数が呼び出されている間に、ダイアログ ボックスの表示直前にダイアログ ボックスに対して送られます。
ダイアログ ボックスを初期化するときに特別な処理が必要な場合は、このメンバ関数をオーバーライドします。オーバーライドした関数では、まず基本クラスの OnInitDialog を呼び出します。戻り値は無視してもかまいません。オーバーライドしたメンバ関数は通常 TRUE を返します。
Windows が OnInitDialog 関数を呼び出すときは、ユーザーのメッセージ マップではなく、すべての Microsoft Foundation Class ライブラリ ダイアログ ボックス共通の標準グローバル ダイアログ ボックス プロシージャを使うため、このメンバ関数にメッセージ マップ エントリは必要ありません。
/* MyDialog.cpp */
#include "MyDialog.h"
BOOL CMyDialog::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_cMyEdit.SetWindowText("My Name"); // Initialize control values
m_cMyList.ShowWindow(SW_HIDE); // Show or hide a control, etc.
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
関連項目
CDialog クラス
階層図
CDialog::Create
CDialog::CreateIndirect
WM_INITDIALOG
その他の技術情報
CDialog のメンバ