Share via


CDialog::OnOK

ユーザーが OK のボタン (IDOK ID がのボタン) をクリックすると呼び出されます。

virtual void OnOK( );

解説

OK のボタンがアクティブになるときにアクションを実行するには、このメソッドをオーバーライドします。ダイアログ ボックスが自動データ検証と交換が含まれている場合、このメソッドの既定の実装では、ダイアログ ボックスにデータを検証し、アプリケーションの適切な変数を更新します。

モードレス ダイアログ ボックスの OK のボタンを実装する場合は、OnOK のメソッドをオーバーライドし、その中の DestroyWindow を呼び出す必要があります。ダイアログ ボックスを表示するが、を呼び出して、オブジェクトを破棄せず EndDialog をため、基本クラスのメソッドを呼び出さないでください。

[!メモ]

Windows XP でコンパイルされるプログラムで CFileDialog のオブジェクトを使用するときにこのメソッドをオーバーライドすることはできません。CFileDialog の詳細については、「CFileDialog クラス」を参照してください。

使用例

void CSimpleDlg::OnOK()
{
   // TODO: Add extra validation here

   // Ensure that your UI got the necessary input 
   // from the user before closing the dialog. The 
   // default OnOK will close this.
   if (m_nMyValue == 0) // Is a particular field still empty?
   {    
      // Inform the user that he can't close the dialog without
      // entering the necessary values and don't close the 
      // dialog.
      AfxMessageBox(_T("Please enter a value for MyValue"));
      return; 
   }

   CDialog::OnOK(); // This will close the dialog and DoModal will return.
}

必要条件

Header: afxwin.h

参照

関連項目

CDialog クラス

階層図

CDialog::OnCancel

CDialog::EndDialog