CDialog::OnInitDialog
更新 : 2007 年 11 月
このメソッドは、WM_INITDIALOG メッセージへの応答として呼び出されます。
virtual BOOL OnInitDialog( );
戻り値
アプリケーションがダイアログ ボックスのコントロールの 1 つに入力フォーカスを設定したかどうかを返します。Windows が既定の場所 (ダイアログ ボックスの最初のコントロール) に入力フォーカスを設定した場合は、OnInitDialog が 0 以外の値を返します。アプリケーションがダイアログ ボックスのコントロールの 1 つに明示的に入力フォーカスを設定した場合は、0 を返します。
解説
Windows は、Create、CreateIndirect、DoModal のいずれかの呼び出しでダイアログ ボックスが表示される直前に、WM_INITDIALOG メッセージをダイアログ ボックスに送信します。
ダイアログ ボックスを初期化するときに特別な処理を実行する場合は、このメソッドをオーバーライドします。オーバーライドしたメソッドでは、まず基本クラスの OnInitDialog を呼び出します。戻り値は無視してもかまいません。通常は、オーバーライドしたメソッドから TRUE を返します。
Windows は、Microsoft Foundation Class ライブラリのすべてのダイアログ ボックスに共通する標準のグローバル ダイアログ ボックス プロシージャを使用して、OnInitDialog 関数を呼び出します。メッセージ マップによってこの関数を呼び出すわけではないので、このメソッドのためにメッセージ マップ エントリを用意する必要はありません。
メモ : |
---|
Windows Vista でコンパイルするプログラムで CFileDialog オブジェクトを使用する場合は、このメソッドをオーバーライドできません。Windows Vista で CFileDialog を変更する操作の詳細については、「CFileDialog クラス」を参照してください。 |
使用例
BOOL CSimpleDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_cMyEdit.SetWindowText(_T("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
}
必要条件
**ヘッダー :**afxwin.h