C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 59 - Своя DDV функция / Диалоговые окна / Visual C++

Шаг 59 - Своя DDV функция

Давайте посмотрим, как можно самим сделать DDV функцию. В минимальном виде обязательных параметров всего два (указатель на объект CDataExchange и переменная). Само описание функции очень похоже на описание DDX, напишем ее.

void AFXAPI DDV_MyFl(CDataExchange* pDX, float t)
{
	if (t<0) 
	{
		AfxMessageBox("error data");
		pDX->Fail(); 
	}
}

И добавим к описанием функций DDX, DDV:

void CTestDDVDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CTestDDVDlg)
	DDX_Text(pDX, IDC_EDIT1, m_Ed1);
	//}}AFX_DATA_MAP
	DDV_MyFl(pDX,m_Ed1);
}

Вот практически и все. Попробуем, запускаем диалог и введем отрицательное число. Потом нажмем OK.

59_1.gif (4503 b)

Вот не пропускает. После закрытия информационного окна, фокус вернется к элементу, в котором ошибка, настойчиво требуя ввести правильные данные.


| |
Автор Каев Артем.
[AD]