Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
VC Лекции PDF / VC 05 Лек Методы класса диалогового окна.pdf
Скачиваний:
49
Добавлен:
15.02.2015
Размер:
341.38 Кб
Скачать

Лекция 5

Методы класса диалога

5

lpRect

указатель на структуру типа RECT или объект типа CRect. После вызова функции поля

 

left и top будут равны 0, а поля right и bottom будут содержать ширину и высоту окна в

пикселях.

Перемещение окна

Изменить положение и размеры окна можно с помощью двух перегруженных функций MoveWindow ( ), прототипы которых имеет вид:

void MoveWindow ( int x , int y , int nWidth , int nHeight , BOOL bRepaint = TRUE ) ; void MoveWindow ( LPCRECT lpRect , BOOL bRepaint = TRUE ) ;

x , y

определяет новые координаты верхнего левого угла окна;

nWidth , nHeight

определяет новые значения ширины и высоты окна;

lpRect

указатель на прямоугольник, который определяет новое положение и размеры ок-

 

на;

bRepaint

определяет, будет ли окно перерисовано. Если параметр равен TRUE, то роди-

 

тельское окно получает сообщение WM_PAINT;

Функция MoveWindow ( ) посылает родительскому окно сообщение WM_GETMINMAXINFO.

Проверка и обмен данными

Функция UpdateData ( ) осуществляет проверку данных и их обмен между элементами управления диалогового окна и связанными с ними переменными-членами класса.

BOOL UpdateData ( BOOL bSaveAndValidate = TRUE ) ;

Возвращает ненулевое значение, если операция выполнена успешно. Если значение параметра bSaveAndValidate равно TRUE, то возвращаемое ненулевое значение означает, что данные были успешно проверены.

Параметр bSaveAndValidate определяет направление обмена данными:

TRUE

данные из элементов управления передаются в связанные с ними переменные-члены

FALSE

класса (по умолчанию);

данные из переменных-членов класса передаются элементам управления.

При проверке данных функция UpdateData ( ) выполняет следующие действия:

проверяет соответствие типа данных, введенных в элемент управления, типу связанной с ним переменной категории Value;

если обнаружено несоответствие типов, то на экран выводится окно сообщений с соответствующим предупреждением, а выполнение программы прерывается;

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

Функция UpdateData ( ) автоматически вызывается при закрытии диалога с помощью кнопки OK.

Выжол Ю.А.

Программирование на Visual C++