CDialog::OnOK

更新 : 2007 年 11 月

[OK] ボタン (ID が IDOK のボタン) をクリックしたときに呼び出されます。

virtual void OnOK( );

解説

[OK] ボタンがアクティブになったときにアクションを実行する場合は、このメソッドをオーバーライドします。自動的にデータの妥当性検査やデータ交換を行うダイアログ ボックスの場合、このメソッドの既定の実装にはダイアログ ボックス データの妥当性検査や、アプリケーションの変数の更新機能があります。

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

66b3y2ab.alert_note(ja-jp,VS.90).gifメモ :

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

その他の技術情報

CDialog のメンバ