Программирование под Win32


           

Такой простейший вариант контроля неудобен.


Такой простейший вариант контроля неудобен. Во-первых, довольно странно выглядит пустое пре­дупреждающее окно; во-вторых, с помощью кнопки "ОК" нельзя будет закрыть диалог при пустом поле года, так как при нажатии этой кнопки выполняется проверка правильности содержимого окна года, а пустое окно считается неправильным.

Диалоговые окна                                                                                                                 265

Для заполнения предупреждающего окна разумной надписью в файл ресурсов надо ввести ресурс STRINGTABLE (текстовые строки) с требуемым текстом в указанном ниже формате:

STRINGTABLE{

IDS_VALNOTINRANGE   "Введенное  значение  не  в диапазоне  от  %ld до  %ld." }

Этот ресурс используется той функцией класса контроля, которая выводит на экран предупреждаю­щее окно. Для класса TRangeValidator строка с содержимым предупреждающего окна должна иметь идентификатор IDS_VALNOTINRANGE, значение которого (32522) описано в файле validate.rh. Чтобы не включать весь этот файл в программу, достаточно в файле заголовков повторить строку из него:















#define IDS_VALNOTINRANGE 32522

В результате при вводе неправильного года на эк­ран будет выводиться окно, показанное на рис. 28.8.

Для устранения второго недостатка можно вместо кнопки "ОК" использовать кнопку "Отмена", что дос­тигается путем замены идентификатора ШОК на иден­тификатор IDCANCEL (в этом случае автоматически изменится и цветной символ на кнопке). Нажатие на кнопку "Отмена" не вызывает проверку правильности содержимого полей диалога, и закрыть этой кнопкой диалог можно будет и при отсутствии в поле года како­го-либо содержимого.

Немодальные диалоги

Процедура создания и обслуживания немодального диалога проиллюстрирована в примере 28-4; вы­вод этой программы показан на рис. 28.9.



//Приложение  28-4.   Немодальный диалог

//Файл 28-4.h

#define Dlg                  1

#define CM_VIEW         201


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий