Стандартные программы обмена данных диалоговых окон
В этом разделе перечислены стандартные подпрограммы обмена данными диалоговых окон (DDX), используемые для распространенных элементов управления диалоговым окном MFC.
Примечание.
Стандартные подпрограммы обмена данными диалоговых окон определяются в файле afxdd_.h
заголовка. Однако приложения должны включать afxwin.h
.
Функции DDX
Имя | Описание |
---|---|
DDX_CBIndex |
Инициализирует или извлекает индекс текущего выбора элемента управления со списком. |
DDX_CBString |
Инициализирует или извлекает текущее содержимое поля редактирования элемента управления со списком. |
DDX_CBStringExact |
Инициализирует или извлекает текущее содержимое поля редактирования элемента управления со списком. |
DDX_Check |
Инициализирует или извлекает текущее состояние элемента управления флажка. |
DDX_Control |
Подклассы заданного элемента управления в диалоговом окне. |
DDX_DateTimeCtrl |
Инициализирует или извлекает данные даты и времени элемента управления выбора даты и времени. |
DDX_IPAddress |
Инициализирует или извлекает текущее значение элемента управления IP-адресом. |
DDX_LBIndex |
Инициализирует или извлекает индекс текущего выбора элемента управления списком. |
DDX_LBString |
Инициализирует или извлекает текущий выбор в элементе управления списком. |
DDX_LBStringExact |
Инициализирует или извлекает текущий выбор в элементе управления списком. |
DDX_ManagedControl |
Создает элемент управления .NET, соответствующий идентификатору ресурса элемента управления. |
DDX_MonthCalCtrl |
Инициализирует или извлекает текущее значение элемента управления календаря месяца. |
DDX_Radio |
Инициализирует или извлекает 0-й индекс радиоконтроля, который в настоящее время проверяется в группе управления радио. |
DDX_Scroll |
Инициализирует или извлекает текущее положение отпечатка элемента управления прокрутки. |
DDX_Slider |
Инициализирует или извлекает текущее положение ползунка элемента управления. |
DDX_Text |
Инициализирует или извлекает текущее значение элемента управления редактирования. |
DDX_CBIndex
Функция DDX_CBIndex
управляет передачей int
данных между элементом управления со списком в диалоговом окне, представлении формы или объекте представления элемента управления и int
элементом данных диалогового окна, представления формы или элемента управления.
void AFXAPI DDX_CBIndex(
CDataExchange* pDX,
int nIDC,
int& index);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления со списком, связанного со свойством элемента управления.
index
Ссылка на переменную-член диалогового окна, представления формы или объекта представления элемента управления, с которыми обмениваются данные.
Замечания
При DDX_CBIndex
вызове index
устанавливается индекс текущего выбора поля со списком. Если элемент не выбран, index
установите значение 0.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_CBString
Функция DDX_CBString
управляет передачей CString
данных между элементом управления редактированием элемента управления со списком в диалоговом окне, представлении формы или объекте представления элементов управления и CString
элементом данных диалогового окна, представления формы или объекта элемента управления.
void AFXAPI DDX_CBString(
CDataExchange* pDX,
int nIDC,
CString& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления со списком, связанного со свойством элемента управления.
value
Ссылка на переменную-член диалогового окна, представления формы или объекта представления элемента управления, с которыми обмениваются данные.
Замечания
При DDX_CBString
вызове value
устанавливается текущий выбор поля со списком. Если элемент не выбран, value
устанавливается строка нулевой длины.
Примечание.
Если поле со списком является раскрывающимся списком, обмен значениями ограничен 255 символами.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_CBStringExact
Функция DDX_CBStringExact
управляет передачей CString
данных между элементом управления редактированием элемента управления со списком в диалоговом окне, представлении формы или объекте представления элементов управления и CString
элементом данных диалогового окна, представления формы или объекта элемента управления.
void AFXAPI DDX_CBStringExact(
CDataExchange* pDX,
int nIDC,
CString& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления со списком, связанного со свойством элемента управления.
value
Ссылка на переменную-член диалогового окна, представления формы или объекта представления элемента управления, с которыми обмениваются данные.
Замечания
При DDX_CBStringExact
вызове value
устанавливается текущий выбор поля со списком. Если элемент не выбран, value
устанавливается строка нулевой длины.
Примечание.
Если поле со списком является раскрывающимся списком, обмен значениями ограничен 255 символами.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_Check
Функция DDX_Check
управляет передачей int
данных между элементом управления флажок в диалоговом окне, представлении формы или объекте представления элемента управления и int
элементом данных диалогового окна, представления формы или элемента управления.
void AFXAPI DDX_Check(
CDataExchange* pDX,
int nIDC,
int& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления флажка, связанный со свойством элемента управления.
value
Ссылка на переменную-член диалогового окна, представления формы или объекта представления элемента управления, с которыми обмениваются данные.
Замечания
При DDX_Check
вызове value
устанавливается текущее состояние элемента управления флажка. Список возможных значений состояния см BM_GETCHECK
. в пакете SDK для Windows.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_Control
Функция DDX_Control
подклассирует элемент управления, указанный nIDC
в диалоговом окне, представлении формы или объекте представления элемента управления.
void AFXAPI DDX_Control(
CDataExchange* pDX,
int nIDC,
CWnd& rControl);
Параметры
pDX
Указатель на объект CDataExchange
.
nIDC
Идентификатор ресурса элемента управления, который будет подклассирован.
rControl
Ссылка на переменную элемента диалогового окна, представления формы или объекта представления элемента управления, связанного с указанным элементом управления.
Замечания
Объект pDX
предоставляется платформой при вызове DoDataExchange
функции. DDX_Control
Поэтому следует вызывать только в пределах переопределенияDoDataExchange
.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_DateTimeCtrl
Функция DDX_DateTimeCtrl
управляет передачей данных даты и времени между элементом управления выбора даты и времени ( CDateTimeCtrl
) в диалоговом окне или объекте представления формы, а также CTime
COleDateTime
элементом данных диалогового окна или объекта представления формы.
void AFXAPI DDX_DateTimeCtrl(
CDataExchange* pDX,
int nIDC,
CTime& value);
void AFXAPI DDX_DateTimeCtrl(
CDataExchange* pDX,
int nIDC,
COleDateTime& value);
void AFXAPI DDX_DateTimeCtrl(
CDataExchange* pDX,
int nIDC,
CString& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление. Удалить этот объект не нужно.
nIDC
Идентификатор ресурса элемента управления выбора даты и времени, связанного с переменной-членом.
value
В первых двух версиях ссылка на CTime
переменную или COleDateTime
переменную члена, диалоговое окно, представление формы или объект представления элемента управления, с которым обмениваются данные. В третьей версии ссылка на CString
объект представления элемента управления данными.
Замечания
При DDX_DateTimeCtrl
вызове value
задано текущее состояние элемента управления выбора даты и времени или задано value
значение элемента управления в зависимости от направления обмена.
В третьей версии выше DDX_DateTimeCtrl
управляет передачей CString
данных между элементом управления временем даты и CString
элементом данных объекта представления элемента управления. Строка форматируется с помощью правил текущего языкового стандарта для форматирования дат и времени.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_ManagedControl
Создает элемент управления .NET, соответствующий идентификатору ресурса элемента управления.
Синтаксис
template <typename T>
void DDX_ManagedControl(
CDataExchange* pDX,
int nIDC,
CWinFormsControl<T>& control );
Параметры
pDX
Указатель на CDataExchange
объект Class . Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления, связанного со свойством элемента управления.
control
Ссылка на CWinFormsControl
объект Class .
Замечания
DDX_ManagedControl
вызывает CWinFormsControl::CreateManagedControl
создание элемента управления, соответствующего идентификатору элемента управления ресурсами. Используется DDX_ManagedControl
для создания элементов управления из идентификаторов ресурсов.CDialog::OnInitDialog
Для обмена данными не требуется использовать функции DDX/DDV с элементами управления Windows Forms.
Дополнительные сведения см. в статье "Практическое руководство. Привязка данных DDX/DDV с помощью Windows Forms".
Требования
Заголовок: afxwinforms.h
DDX_IPAddress
Функция DDX_IPAddress
управляет передачей данных между элементом управления IP-адресом и элементом данных объекта представления элемента управления.
void AFXAPI DDX_IPAddress(
CDataExchange* pDX,
int nIDC,
DWORD& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления IP-адреса, связанного со свойством элемента управления.
value
Ссылка на DWORD
значение четырех полей элемента управления IP-адреса. Поля заполняются или читаются следующим образом.
Поле | Биты, содержащие значение поля |
---|---|
3 | От 0 до 7 |
2 | От 8 до 15 |
1 | 16–23 |
0 | 24–31 |
Используйте Win32 IPM_GETADDRESS
для чтения значения или IPM_SETADDRESS
заполнения значения. Эти сообщения описаны в пакете SDK для Windows.
Замечания
При DDX_IPAddress
вызове value
выполняется чтение из элемента управления IP-адреса или value
запись в элемент управления в зависимости от направления обмена.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_LBIndex
Функция DDX_LBIndex
управляет передачей int
данных между элементом управления списком в диалоговом окне, представлении формы или объекте представления элементов управления и int
элементом данных диалогового окна, представления формы или элемента управления.
void AFXAPI DDX_LBIndex(
CDataExchange* pDX,
int nIDC,
int& index);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления list box, связанного со свойством элемента управления.
index
Ссылка на переменную-член диалогового окна, представления формы или объекта представления элемента управления, с которыми обмениваются данные.
Замечания
При DDX_LBIndex
вызове index
устанавливается индекс текущего поля списка. Если элемент не выбран, index
установите значение -1.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_LBString
Функция DDX_LBString
управляет передачей CString
данных между элементом управления списком в диалоговом окне, представлении формы или объекте представления элемента управления и CString
элементом данных диалогового окна, представления формы или элемента управления.
void AFXAPI DDX_LBString(
CDataExchange* pDX,
int nIDC,
CString& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления list box, связанного со свойством элемента управления.
value
Ссылка на переменную-член диалогового окна, представления формы или объекта представления элемента управления, с которыми обмениваются данные.
Замечания
При DDX_LBString
вызове для передачи данных в элемент управления list box первый элемент в элементе управления, начальные совпадения value
которого выбраны. (Чтобы сопоставить весь элемент, а не только префикс, используйте DDX_LBStringExact
.) Если совпадений нет, элементы не выбраны. Сопоставление не учитывает регистр.
При DDX_LBString
вызове для передачи данных из элемента управления value
"Список" устанавливается текущий выбор поля списка. Если элемент не выбран, value
устанавливается строка нулевой длины.
Примечание.
Если поле списка является раскрывающимся списком, обмен значениями ограничен 255 символами.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_LBStringExact
Функция DDX_CBStringExact
управляет передачей CString
данных между элементом управления "Изменение списка" в диалоговом окне, представлении формы или объекте представления элементов управления и CString
элементом данных диалогового окна, представления формы или элемента управления.
void AFXAPI DDX_LBStringExact(
CDataExchange* pDX,
int nIDC,
CString& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления list box, связанного со свойством элемента управления.
value
Ссылка на переменную-член диалогового окна, представления формы или объекта представления элемента управления, с которыми обмениваются данные.
Замечания
При DDX_LBStringExact
вызове для передачи данных в элемент управления "Список" выбран первый элемент в элементе управления, который соответствует value
. (Чтобы сопоставить только префикс, а не весь элемент, используйте DDX_LBString
.) Если совпадений нет, элементы не выбраны. Сопоставление не учитывает регистр.
При DDX_CBStringExact
вызове для передачи данных из элемента управления value
"Список" устанавливается текущий выбор поля списка. Если элемент не выбран, value
устанавливается строка нулевой длины.
Примечание.
Если поле списка является раскрывающимся списком, обмен значениями ограничен 255 символами.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_MonthCalCtrl
Функция DDX_MonthCalCtrl
управляет передачей данных даты между элементом управления календарем месяца ( CMonthCalCtrl
) в диалоговом окне, представлении формы или объекте элемента управления, а также CTime
COleDateTime
элементом или элементом данных диалогового окна, представления формы или элемента управления.
void AFXAPI DDX_MonthCalCtrl(
CDataExchange* pDX,
int nIDC,
CTime& value);
void AFXAPI DDX_MonthCalCtrl(
CDataExchange* pDX,
int nIDC,
COleDateTime& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление. Удалить этот объект не нужно.
nIDC
Идентификатор ресурса элемента управления календаря месяца, связанного с переменной члена.
value
Ссылка на CTime
COleDateTime
переменную элемента диалогового окна, представления формы или объекта элемента управления, с которым обмениваются данные.
Замечания
Примечание.
Элемент управления управляет только значением даты. Поля времени в объекте времени задаются для отражения времени создания окна управления или любого времени, заданного в элементе управления с вызовом CMonthCalCtrl::SetCurSel
.
При DDX_MonthCalCtrl
вызове value
устанавливается текущее состояние элемента управления календаря месяца.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_Radio
Функция DDX_Radio
управляет передачей int
данных между группой управления радио в диалоговом окне, представлении формы или объекте представления элемента управления и int
элементом данных диалогового окна, представления формы или элемента управления. Значение int
элемента данных определяется в соответствии с выбранным переключателем в группе.
void AFXAPI DDX_Radio(
CDataExchange* pDX,
int nIDC,
int& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса первого элемента управления радио в группе.
value
Ссылка на переменную-член диалогового окна, представления формы или объекта представления элемента управления, с которыми обмениваются данные.
Замечания
При DDX_Radio
вызове value
устанавливается текущее состояние группы управления радио. Значение задается как 0-й индекс проверяемого в данный момент радиоконтроля или -1, если радиоконтроль не проверяется.
Например, если первая переключатель в группе установлен (кнопка с WS_GROUP стилем), значение int
элемента равно 0 и т. д.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_Scroll
Функция DDX_Scroll
управляет передачей int
данных между элементом управления прокрутки в диалоговом окне, представлении формы или объекте управления и int
элементом данных диалогового окна, представления формы или элемента управления.
void AFXAPI DDX_Scroll(
CDataExchange* pDX,
int nIDC,
int& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления прокрутки, связанного со свойством элемента управления.
value
Ссылка на переменную-член диалогового окна, представления формы или объекта представления элемента управления, с которой осуществляется обмен данными.
Замечания
При DDX_Scroll
вызове value
устанавливается текущее положение отпечатка элемента управления. Дополнительные сведения о значениях, связанных с текущей позицией пальца элемента управления, см GetScrollPos
. в пакете SDK для Windows.
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
DDX_Slider
Функция DDX_Slider
управляет передачей int
данных между ползунком в диалоговом окне или представлении формы и int
элементом данных диалогового окна или объекта представления формы.
void AFXAPI DDX_Slider(
CDataExchange* pDX,
int nIDC,
int& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор ресурса элемента управления ползунка.
value
Ссылка на значение для обмена. Этот параметр содержит или задает текущее положение элемента управления ползунка.
Замечания
При DDX_Slider
вызове value
устанавливается текущее положение пальца элемента управления или значение получает позицию в зависимости от направления обмена.
Дополнительные сведения об DDX см обмен данными окон и проверка. Сведения об элементах управления ползунка см. в разделе "Использование CSliderCtrl
".
Требования
Заголовок afxdd_.h
DDX_Text
Функция DDX_Text
управляет передачей int
данных , UINT
, , CString
DWORD
float
long
или double
данных между элементом управления редактированием в диалоговом окне, представлении формы или представлении элементов управления и CString
элементом данных диалогового окна, представления формы или элемента управления.
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
BYTE& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
short& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
int& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
UINT& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
long& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
DWORD& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
CString& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
float& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
double& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
COleCurrency& value);
void AFXAPI DDX_Text(
CDataExchange* pDX,
int nIDC,
COleDateTime& value);
Параметры
pDX
Указатель на объект CDataExchange
. Структура предоставляет этот объект для формирования контекста обмена данными, включая его направление.
nIDC
Идентификатор элемента управления редактирования в диалоговом окне, представлении формы или объекте представления элемента управления.
value
Ссылка на элемент данных в диалоговом окне, представлении формы или объекте элемента управления. Тип value
данных зависит от того, какие из перегруженных версий DDX_Text
используются.
Замечания
Дополнительные сведения об DDX см обмен данными окон и проверка.
Требования
Заголовок afxdd_.h
См. также
Стандартные программы проверки данных диалоговых окон
Макросы и глобальные
CWinFormsControl::CreateManagedControl
CDialog::OnInitDialog