void CMyDialog::DoDataExchange(CDataExchange* pDX) 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

void CMyDialog::DoDataExchange(CDataExchange* pDX)

Поиск

void CMyDialog::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);   

// Вызов этого метода из базового класса

//{{AFX_DATA_MAP(CMyDialog)

DDX_Check(pDX, IDC_MY_CHECKBOX, m_bVar);

DDX_Text(pDX, IDC_MY_TEXTBOX, m_strName);

DDV_MaxChars(pDX, m_strName, 20);

//}}AFX_DATA_MAP

}

 

VS2005:

void СDFPDialog::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

DDX_Text(pDX, IDC_PRECISION, m_dPrecision);

DDX_Text(pDX, IDC_DIMENSION, m_iDimension);

DDX_Text(pDX, IDC_EDIT_COORDINATE, m_dCoordinate);

DDX_Control(pDX, IDC_COORD_LIST, m_cCoordList);

DDX_Control(pDX, IDC_START, m_cStart);

DDX_Control(pDX, IDC_STOP, m_cStop);

DDV_MinMaxUInt(pDX, m_iDimension, 1, 1000);

DDX_Radio(pDX, IDC_FUNC1, m_iFunc1);

}

 

Строки DDX_* и DDV_* между операторными скобками //{{AFX_DATA_MAP и //}}AFX_DATA_MAP представляют собой карту данных. Здесь приведены DDX и DDV-функции для флажка (check-box control) и элемента редактирования (edit-box control).

 

Как уже говорилось, если пользователь нажимает кнопку Cancel в модальном диалоге, функция OnCancel завершает его работу и DoModal возвращает значение IDCANCEL. В этом случае не происходит никакого обмена данными между диалоговым окном и объектом диалога.

 

Вместе с обменом данными вы можете указывать и проверяющие DDV-функции, как в приведенном примере. Вызов DDV_MaxChars здесь проверяет не превышает ли длина введенной строки 20 символов. В случае ошибочного ввода DDV-функция предупреждает пользователя выводом окошка с соответствующим сообщением и устанавливает фокус на элемент управления, содержащий некорректные данные для исправления. DDV-функция должна вызываться непосредственно за DDX-функцией соответствующего элемента управления.

 

Мастер ClassWizard впишет все вызовы DDX и DDV-функций сам. Не следует редактировать вручнуюотображаемые серым цветомстроки карты данных между операторными скобками AFX_DATA_MAP (иначе ваши исправления могут быть автоматически ликвидированы мастером).

Сопоставление элементов управления и переменных в нашем диалоге

 



Поделиться:


Последнее изменение этой страницы: 2024-06-27; просмотров: 45; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.217.21 (0.007 с.)