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 возвратится. }