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

 

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

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

Янг Майкл Дж. Visual С++ 6. Полное руководство: В 2 т.(том1) — Бином, 2006. — 569 c.
Скачать (прямая ссылка): vicualcc2006t1.djvu
Предыдущая << 1 .. 165 166 167 168 169 170 < 171 > 172 173 174 175 176 177 .. 204 >> Следующая

• Немодальное диалоговое окно отображается путем вызова функции CDialog: : Create вместо CDialog: :DoModal. В отличие от последней функция Create возвращает управление, оставляя диалоговое окно на экране. При
отображении такого диалогового окна главное окно, как и любые окна представлений, остается доступным. Программа может продолжать обработку информации, вводимой из главного окна, а пользователь — работать с ним при отображенном диалоговом окне.
• Немодальное диалоговое окно закрывается путем вызова функции CWnd: : DestroyWindow вместо функции EndDialog. Функцию DestroyWindow можно вызвать из функиии-члена класса диалогового окна или из любой другой функции программы.
• Необходимо определить обработчик сообщения OnCancel для класса диалогового окна. Если диалоговое окно содержит кнопку ОК. (т. е. кнопку с идентификатором idok), то необходимо определить обработчик сообщения ОпОК. (Эти функции описаны во врезке "Закрытие диалогового окна" в этой главе.) Однако для немодального диалогового окна названные функции вызывают функцию DestroyWindow, закрывающую диалоговое окно, и не должны вызывать обработчик сообщения базового класса. Версии функций базового класса OnCancel и ОпОК вызывают функцию EndDialog, скрывающую диалоговое окно, но не уничтожающую его. Заметьте: при использовании мастера ClassWizard для определения переменных класса диалогового окна функция ОпОК должна была бы вызвать функцию CWnd: : UpdateDate, передавая ей значение true или вызывая ее без параметров, чтобы сохранить и проверить содержимое элементов управления. В модальном диалоговом окне эта задача выполняется версией функции ОпОК базового класса.
Примечание
В гл. 14 кратко описана разновидность панелей элементов MFC, называемая диалоговой панелью, - фактически немодальное диалоговое окно, которым управляет класс coiaiogBax,
а не CDialog.
Создание диалоговых окон с вкладками
Библиотека MFC поддерживает диалоговые окна с вкладками, популярные в новых приложениях Windows. Такое окно позволяет отображать несколько страниц связанных элементов управления внутри одного окна. Способ обращения к каждой странице подобен выбору закладки в книге: щелчок на ярлычке в строке вкладок, отображаемой в верхней части окна. Диалоговое окно с вкладками поддерживается объектом класса CPropertySheet, а каждая страница — класса CPropertyPage. Для разработки страницы используется редактор диалоговых окон, как будто это отдельное окно (однако при этом выбирается определенный набор стилей диалогового окна).
В этом параграфе создана программа TabDemo. Она похожа на предыдущий пример FontDemo. Отличие в том, что диалоговое окно Format — это окно с вкладками (для простоты примера оно не отображает образец текста). Первая страница диалогового окна Format — страница Style (рис. 15.14) — содержит флажки для выбора начертания шрифта; вторая — Justify (рис. 15.15) — переключатели задания параметров выравнивания текста и третья — Pitch and Spacing (рис. 15.16) — переключатели для выбора ширины символов и поле для установки интервала между строками. Заметим: класс CProperlySheet создает страницы, по крайней мере, такой же ширины, как ширина трех кнопок внизу диалогового окна с учетом пустого пространства для дополнительной кнопки Help. Следовательно, в программе TabDemo страницы имеют больший размер, чем необходимо для размещения отображаемых элементов управления. Однако в реальных приложениях диалоговые
окна с вкладками обычно не используются, если не требуется отобразить большое количество элементов управления.
Foim.il ES
Style | Justify j Pitch and Spacing | [-Font Styles...........-
i r Italic \.
j I- Underline, ;
UK ^ ; . : : Cancel
Рис. 15.14. Страница Style диалогового окна Format
Style Justify j Pitch andSpadngj' , Justify Text
Ffei :
:. <~ Center ."'v. <* Bight
OK
Cancel
Рис. 15.15. Страница Justify диалогового окна Format
Style j Justify Pitch and Spacing ] ; Font Pitch
! (~ Eoted ;
Line Spacing: [T~
OK
Рис. 15.16. Страница Pitch and Spacing диалогового окна Format
Для создания исходных файлов программы TabDemo используйте мастер AppWizard. В диалоговом окне New Project Workspace введите в поле Name имя программы TabDemo, а в поле Location — соответствующий каталог проекта. В диалоговых окнах мастера AppWizard выберите те же параметры, которые выбирались для программы WinGreet (см. гл. 9).
После того как исходные файлы будут сгенерированы, выполните следующие действия для изменения программы.
1. Чтобы создать шаблон диалогового окна для страницы Style, выберите команду Resource... в меню Insert, затем тип ресурса Dialog и щелкните на кнопке New.
2. В редакторе диалоговых окон щелкните правой кнопкой мыши внутри создаваемого диалогового окна, выберите из появившегося контекстного меню команду Properties и откройте диалоговое окно Dialog Properties. Откройте вкладку General и в поле Caption введите style. Эта надпись отобразится на ярлычке создаваемой страницы. Остальные свойства оставьте неизменными. Затем откройте вкладку Styles, в списке Style выберите пункт Child, а в списке Border пункт Thin. Кроме того, установите флажки так, чтобы был отмечен только флажок Titlebar. На рис. 15.17 показаны корректные установки вкладки Styles. Наконец, откройте вкладку More Styles и отметьте только флажок Disabled. Все заданные установки необходимы для определения диалогового окна, используемого как страница окна с вкладками (а не как отдельное диалоговое окно).
Предыдущая << 1 .. 165 166 167 168 169 170 < 171 > 172 173 174 175 176 177 .. 204 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100