Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Янг Майкл Дж. -> "Visual С++ 6. Полное руководство: В 2 т.(том1)" -> 158

Visual С++ 6. Полное руководство: В 2 т.(том1) - Янг Майкл Дж.

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 152 153 154 155 156 157 < 158 > 159 160 161 162 163 164 .. 204 >> Следующая

Стандартное значение value в списке Category означает создание переменной базового типа С++, а не объекта-члена. (Определение объектов-членов будет рассмотрено позже.) При выборе параметра bool в списке Value Туре создается переменная, которой присваивается значение true или false.
Аналогичным образом определите для флажка Italic (idc_italic) переменную с именем m_italic, а для флажка Underline (idcjjnderline) — с именем m_Underline.
Следующее действие — задание переменных для переключателей. Переменная назначается на группу переключателей, а не на каждый из них. Перед отображением диалогового окна Format переменной присваивается номер того переключателя внутри группы, который отмечен первоначально: 0 означает первый переключатель в группе (в порядке обхода), 1 — второй и т. д. Когда диалоговое окно Format открывается первый раз, MFC отмечает указанный переключатель (если присвоить переменной значение -1, то в группе не будет отмечен ни один переключатель). И наоборот, когда пользователь щелкает на кнопке OK, MFC записывает в
переменную номер отмеченного переключателя в группе (или значение -1, ни один переключатель не отмечен).
если
MFC CldssWiidid
Message Maps Member Variable) j Automation-j ActiveX Event* j Dasslnfo |
Erojeet
Class narac.
__^_|cFotmat
C:\...\FontDemo\Format.h, C:V.AFontDemo\Format.cpp Control IDs; ___________ Tvpe
IDC ITALIC IDCJ-EFT IDC_SAMPLE IDC_SPACING IDC_UNDERLINE IDC_VARIABLE IDCANCEL IDOK
Description:
їМйй?ег;
Add Class... T fiddVariable...
OK
Cancel
Рис. 15.9. Страница Member Variables диалогового окна мастера ClassWizard перед определением переменных
Add Member Variable
Member variable Qame;
jm_Bolc( C^lejbrje
j Value
Varjgbjetypft iBOOL
OK
Cancel
Description:
simple BOOL transfer
Рис. 15.10. Диалоговое окно Add Member Variable при определении переменной, связанной с флажком Bold (idc_bold)
В списке Control IDs показаны идентификаторы первых переключателей каждой из двух групп: idcleft — для группы, начинающейся с переключателя Left, и idс_vARiable — с переключателя Variable. Сначала задайте переменную для группы переключателей idcleft. В диалоговом окне Add Member Variable введите имя переменной mJustify и оставьте в двух списках стандартные значения. (Обратите внимание: список Variable Туре теперь содержит тип int. Переменная типа int объявляется для хранения номера переключателя.) Назначьте переменную mPitch для группы переключателей idc_variable, используя такой же метод.
Затем задайте переменную m^Spacing для поля (idc_spacing). В диалоговом окне Add Member Variable оставьте в списке Category значение Value, а в списке Variable Туре выберите значение int вместо стандартного (CString), чтобы текстовая строка, отображаемая в поле, могла быть преобразована в целое число и из целого числа. После возвращения в диалоговое окно ClassWizard в его нижней части будут отображены два новых текстовых поля с именами Minimal Value и Maximum Value (рис. 15.11). Эти поля позволяют задать диапазон допустимых значений для выбранной переменной. Если в них ввести числа, то после щелчка на кнопке OK библиотека MFC проверяет, находится ли введенное значение внутри заданного диапазона. Еесли значение не попадает в этот диапазон, то MFC выводит предупреждение и диалоговое окно остается открытым. Для элемента управления idc_spacing введите 1 в поле Minimal Value и 3 в поле Maximum Value (разрешается установить только одинарный, двойной или тройной интервал между строками).
Наша конечная задача — определить объект-член для управления полем. Для этого в списке Control IDs выберите идентификатор idcspacing и щелкните на кнопке Add Variable. Для одного элемента управления можно определять сразу две переменные при условии, что они принадлежат различным категориям, которые задаются значениями из списка Category. Введите имя m_SpacingEdit в поле Member Variable Name. В списке Category выберите пункт Control. Теперь переменная является членом класса CEdit (а не переменной базового типа). Класс CEdit предоставляет набор функций для управления полем. Позже мы увидим, как класс диалогового окна использует одну из них.
На этом определение переменных для элементов управления диалоговым окном окончено. Страница Member Variables диалогового окна ClassWizard должна иметь вид, показанный на рис. 15.11. Теперь щелкните на кнопке ОК. Мастер ClassWizard запишет код определения переменных в файл заголовков и файл реализации класса диалогового окна (Format.h и Format.cpp соответственно).
Определение обработчиков сообщений
Так как диалоговому окну передаются различные сообщения о событиях, в класс диалогового окна необходимо добавить обработчики сообщений. Для программы FontDemo — обработчики сообщений, посылаемых при первом открытии диалогового окна, его перерисовке, щелчке на флажке или переключателе.
Чтобы определить требуемые обработчики сообщений, откройте диалоговое окно ClassWizard и вкладку Message Maps. Класс CFormat по-прежнему должен быть выбран в списке Class Name (если это не так, выберите его).
Предыдущая << 1 .. 152 153 154 155 156 157 < 158 > 159 160 161 162 163 164 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100