- •Задание 6. Добавление обработчиков сообщений для кнопок панели инструментов
- •Обработчики сообщений для кнопок панели инструментов программы MyPaint
- •Строка состояния
- •Задание 7. Добавление строки состояния
- •Отображение полей строки состояния
- •Изменение интерактивной справки
- •Подведение итогов
- •Глава 6. Создание модальных диалоговых окон
- •Диалоговые окна и ресурсы шаблонов диалоговых окон
- •Задание 1. Создание ресурса шаблона диалогового окна программы FontDemo
- •Элементы управления диалогового окна Format и их свойства
- •Классы диалоговых окон
- •Функции класса cDialog для управления диалоговыми окнами
- •Функции класса cDialog для манипулирования диалоговыми окнами
Задание 1. Создание ресурса шаблона диалогового окна программы FontDemo
Рассмотрим процесс создания ресурса шаблона диалогового окна.
Создайте новый проект FontDemo. Для этого выберите команду FileNewProject или просто нажмите комбинацию клавиш Ctrl+Shift+N.
В области Project Types (Типы проектов) выберите тип проекта Visual C++ Project, а в области Templates (Шаблоны) — элемент MFC Application (Приложение MFC). Введите имя проекта FontDemo и задайте путь к каталогу проекта.
Выберите однодокументный интерфейс, установите поддержку архитектуры приложения Документ/Представление.
В окне Advanced Features сбросьте флажки Printing and print preview (Печать и предварительный просмотр перед печатью), ActiveX controls (Элементы управления ActiveX ), Common Control Manifest (Объявление стандартных элементов управления).
Когда проект будет создан, выполните компоновку приложения с помощью команды Build FontDemoBuild (Компоновать). В результате выполнения этой команды приложение будет откомпилировано, скомпоновано и готово к выполнению.
Для добавления ресурса шаблона диалога в существующее приложение вызовите диалоговое окно Add Resource (Добавить ресурс) с помощью команды ProjectAdd Resource…. В появившемся диалоге Add Resource выберите элемент Dialog (рис. 6.4) и щелкните на кнопке New для вызова редактора диалогового окна. Можно двойным щелчком на элементе Dialog открыть окно редактора диалога.
Поместите на форму ресурса диалогового окна необходимые элементы управления. Для этого используются панели инструментов Dialog Editor и Toolbox (рис.6.6), которые появляются вместе с ресурсом шаблона диалога. Если панель Toolbox не видна на экране, то отобразите ее с помощью команды ViewToolbox или с помощью комбинации клавиш Ctrl+Alt+X. Панель Dialog Editor можно вызвать с помощью команды ViewToolbarsDialog Editor. Панель инструментов Toolbox содержит кнопки для создания элементов управления всех типов, которые можно добавлять в диалоговое окно. Панель инструментов Dialog Editor обеспечивает альтернативный способ выбора многих команд меню, используемых при проектировании диалоговых окон.
Рис. 6.4. Окно Add Resource для выбора категории ресурса Dialog
Рис. 6.5. Окно редактора ресурса шаблона диалога с панелями инструментов
Dialog Editor и Toolbox
Если панель Toolbox не отображает элементы управления диалога, то щелкните на кнопке Dialog Editor, которая находится под заголовком Toolbox (рис. 6.7), список управляющих элементов развернется. Прокрутка списка выполняется нажатием кнопки со стрелкой, расположенной справа от кнопки Clipboard Ring. Свернуть список можно, нажав кнопку Clipboard Ring или General.
Рис. 6.6. Свернутая панель элементов управления диалога
Рис. 6.7. Окончательный вид диалогового окна Format и идентификаторы всех элементов управления
Для установки свойств диалогового окна щелкните на его поле, но не элементах управления. Вызовите окно Properties (Свойства) по команде ViewProperties Window. В поле Caption (Надпись) введите надпись Format для отображения заголовка диалогового окна при его открытии. В поле ID (Идентификатор диалогового окна) уже записано ID_DIALOG1. Для остальных свойств примите стандартные значения. В случае необходимости размер диалогового окна можно изменить, перемещая его нижний правый угол.
Добавьте в ресурс шаблона диалоговое окно три элемента управления типа флажок и разместите их как показано на рис. 6.8. Для этого щелкните на кнопке Check Box панели Toolbox, затем на выбранном месте в шаблоне диалогового окна. В окне свойств в поле Caption введите значение &Bold. В поле ID задайте значение IDC_BOLD. В поле Group выберите значение True. Такая установка означает, что флажок Bold является первый элементом группы флажков. Измените значения свойств двух других флажков, задав надписи &Italic и &Underline, в поле ID измените предложенные идентификаторы, задав значения IDC_ITALIC и IDC_UNDERLINE, в поле Group — значение False. При установке одного из флажков, объединенных в группу, все остальные флажки будут сброшены.
Чтобы выровнять элементы управления по вертикали или горизонтали выполните такие действия. Выделите три элемента управления. Затем щелкните на кнопке Align Left панели Dialog Editor или выполните команду FormatAlignLeft. Чтобы разместить элементы на равных расстояниях друг от друга по вертикали, выделите их и выполните команду FormatSpace EvenlyDown или нажмите кнопку Down панели инструментов Dialog Editor. Наконец, отобразите флажки в группе элементов под общим названием Style. Для этого щелкните на кнопке Group Box панели Toolbox. Изобразите прямоугольник, включив в него три рассмотренных флажка. В поле Caption окна свойств укажите надпись Style.
Добавьте в шаблон диалоговое окно группы переключателей Justify (Выравнивание) и Pitch (Интервал). Для этого щелкните на кнопке Radio Button панели Toolbox. Затем щелкните на выбранном месте шаблона диалогового окна. В области шаблона диалогового окна отобразится переключатель с надписью Radio1. В поле Caption окна Properties задайте для него значение &Left, в поле ID — идентификатор IDC_LEFT, в поле Group — значение True. Добавьте остальные переключатели с надписями Center и Right. Объедините их в группу с помощью элемента управления Group Box. Для этого элемента в поле Caption задайте надпись Justify, без изменения оставьте значения всех остальных свойств. Группа Pitch с двумя переключателями оформляется аналогично.
Переместите кнопки OK и Cancel в левый нижний угол шаблона диалогового окна. Для кнопки OK задайте значения True свойства Default Button. Это приведет к отображению кнопки с утолщенной рамкой и позволит активизировать кнопку (т.е. закрыть диалоговое окно) нажатием клавиши Enter.
Выше кнопок OK и Cancel добавьте статический текст, щелкнув на кнопке Static Text панели Toolbox, а затем в области шаблона диалогового окна. Введите надпись Line &Spacing: в поле Caption окна свойств, остальные значения свойств не меняйте. Рядом со статическим текстом добавьте элемент управления Edit Control. Для этого щелкните на кнопке Edit Control панели Toolbox, затем в области шаблона диалогового окна. Этот элемент управления не имеет надписи, для него установите значение идентификатора IDC_SPACING. Остальные значения свойств данного элемента не меняйте.
Последний элемент диалогового окна — область отображения образца настроек формата текста. Добавьте элемент Static Text, укажите надпись Sample и идентификатор IDC_SAMPLE.
Рис. 6.8. Порядок обхода элементов управления диалогового окна Format
Установите порядок обхода элементов управления. Для этого выберите команду Tab Order в меню Format или нажмите клавиши Ctrl+D. В результате ваших действий редактор диалоговых окон размещает порядковые номера на элементах управления в шаблоне диалогового окна, задавая порядок обхода (рис. 6.8). Первоначальный порядок обхода соответствует порядку добавления элементов управления. Для изменения порядка обхода последовательно щелкайте на каждом элементе управления в нужном вам порядке. Чтобы отменить установленный порядок обхода, нажмите клавишу Esc.
Результат можно сохранить, выбрав команду Save All в меню File или щелкнув на кнопке Save All панели инструментов Standard.
Постройте программу и запустите ее на выполнения с помощью команды Debug Start.
В табл. 6.1 перечислены идентификаторы и дополнительные свойства, для которых необходимо изменить стандартные значения, отображаемые в окне Properties.
Т а б л и ц а 6.1
