Шаг 615 - CDialog::OnOK

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

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 24.01.2002