Share via


CDialog::OnInitDialog

このメソッドは WM_INITDIALOG のメッセージに応答して呼び出されます。

virtual BOOL OnInitDialog( );

戻り値

アプリケーションがダイアログ ボックスのコントロールの 1 つがに入力フォーカスを設定しているかどうかを指定します。OnInitDialog がゼロ以外の値を返した場合、Windows は既定の場所は、ダイアログ ボックスの最初のコントロールに入力フォーカスを設定します。アプリケーションでは、ダイアログ ボックスのコントロールの 1 つがに明示的に入力フォーカスが設定されている場合のみ 0 を返すことができます。

解説

Windows が発生 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

参照

関連項目

CDialog クラス

階層図

CDialog::Create

CDialog::CreateIndirect

WM_INITDIALOG