Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Func.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.58 Mб
Скачать

CWnd::DoDataExchange

virtual void DoDataExchange( CDataExchange* pDX );

Аргументы

  1. pDX — указатель на объект класса CDataExchange.

Примечание

Данная функция вызывается приложением для обмена данными и проверки корректности данных передаваемых межу объектами классов диалогового окна и включённых в него объектов классов элементов управления.

Эта функция не должна вызываться непосредственно. Её вызов допустим только через вызов функции UpdateData, вызываемой для инициализации переменных в объектах классов элементов управления и для передачи значений этих переменных обратно в класс диалогового окна.

При создании пользовательского класса, производного от класса CDialog, для того, чтобы иметь возможность воспользоваться методами автоматического обмена данными между объектами классов диалогового окна и элементов управления, а также автоматической проверки передаваемых при этом данных, пользователь должен перегрузить функцию DoDataExchange в своём диалоговом классе. Эту работу выполняет за него мастер ClassWizard, включающий в данную функцию карту обмена данными данного диалогового окна и вызовы глобальных функций проверки допустимости значений передаваемых данных.

Чтобы воспользоваться мастером ClassWizard для перегрузки данной функции в пользовательском классе диалогового окна, создайте ресурс диалога с использованием редактора диалога, а затем вызовите матер ClassWizard и создайте соответствующий ему класс диалогового окна. Включите в него переменные для хранения информации, полученной от объектов классов элементов управления, и задайте диапазоны изменения этих величин. Мастер ClassWizard создаст перегруженную версию функции DoDataExchange, содержащую карту данных. Как утверждает библиотека MSDN, приведённый ниже фрагмент программы сгенерирован мастером ClassWizard:

void CPenWidthsDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CPenWidthsDlg)

DDX_Text(pDX, IDC_THIN_PEN_WIDTH, m_nThinWidth);

DDV_MinMaxInt(pDX, m_nThinWidth, 1, 20);

DDX_Text(pDX, IDC_THICK_PEN_WIDTH, m_nThickWidth);

DDV_MinMaxInt(pDX, m_nThickWidth, 1, 20);

//}}AFX_DATA_MAP

}

Однако в данной библиотеке отсутствуют какие-либо сведения о том, каким образом можно заставить мастер ClassWizard включить в этот текст вызов функции DDV_MinMaxInt.

Как видно из приведённого фрагмента программы, мастер ClassWizard включает в код программы специальные программные скобки \\{{ и \\}}. Они не должны уничтожаться пользователем.

Описание перегруженной функции DoDataExchange должно предшествовать описаниям макросов в файле реализации.

CWnd::EnableWindow

BOOL EnableWindow( BOOL bEnable = TRUE );

Возвращаемое значение

Указывает состояние окна до того, как была вызвана функция EnableWindow. Функция возвращает ненулевое значение, если окно до этого было недоступным. Нулевое значение указывает на то, что окно до этого было доступным или на то, что произошла ошибка.

Аргументы

  1. bEnable — определяет, нужно ли сделать данное окно доступным или недоступным. Если этот аргумент имеет значение TRUE, то окно становится доступным. В противном случае окно становится недоступным.

Примечание

Делает окно доступным или недоступным для работы с мышью и ввода с клавиатуры. Если данное окно недоступно, то обращённые к нему щелчки мыши и ввод с клавиатуры игнорируются. Если окно доступно, оно осуществляет всю обработку сообщений в полном объёме.

При изменении доступности окна данная функция посылает сообщение WM_ENABLE. Для того, чтобы окно могло быть активизировано оно должно быть доступным. Например, если приложение выводит немодальное диалоговое окно и сделало недоступным своё главное окно, то прежде, чем уничтожить объект диалогового окна, главное окно должно быть сделано доступным. В противном случае фокус ввода получит другое окно, что приведёт к его активизации. Недоступное дочернее окно игнорируется при определении операционной системой Windows окна, которому предназначены сообщения мыши.

По умолчанию окно при создании делается доступным. Приложение может установить стиль WS_DISABLED в функциях Create или CreateEx для создания окна, которое будет изначально недоступно. После того, как окно будет создано, приложение может вызывать функцию EnableWindow, чтобы сделать окно доступным или недоступным.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]