CDialog::OnOK
更新 : 2007 年 11 月
[OK] ボタン (ID が IDOK のボタン) をクリックしたときに呼び出されます。
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