virtual void OnOK( );
Замечания
Вызывается когда пользователь нажимает кнопку OK (кнопка с IDOK).
Перегрузите эту функцию, чтобы выполнить действие кнопки OK. Если диалоговое окно включает автоматическую проверку правильности данных и обмен, заданная по умолчанию реализация этой функции проверяет правильность данных диалогового окна и модифицирует соответствующие переменные в Вашей прикладной программе.
Если Вы выполняете кнопку OK в немодальном диалоговом окне, Вы должны перегрузить OnOK функцию и вызывать DestroyWindow изнутри этого. Не вызывайте функцию базового класса, потому что это вызывает EndDialog, который делает диалоговое окно невидимым, но не уничтожает его.
Пример
// MyDialog.cpp
#include "MyDialog.h"
void CMyDialog::OnOK()
{
// Добавьте проверку правильности здесь
// Гарантировать, что ваш UI получил необходимый ввод
// от пользователя перед закрытием диалога.
// Значение по умолчанию OnOK закроет это.
if ( m_nMyValue == 0 ) // Является специфическое поле все еще пустым ?
{
AfxMessageBox("Please enter a value for MyValue");
return; // Сообщить пользователю, что он не может закрывать диалог
// необходим ввод необходимых значений
}
CDialog::OnOK(); // Это закроет диалог, и DoModal возвратится.
}