Опубликован: 17.08.2010 | Доступ: свободный | Студентов: 999 / 59 | Оценка: 4.11 / 3.89 | Длительность: 29:38:00
Самостоятельная работа 3:

Использование элементов управления MFC

Создание заготовки диалогового приложения и визуальная разработка интерфейса

  • Создайте новый проект MFC Application под названием Controls. Задайте именно такое название, чтобы дальше нам разговаривать на одном языке, поскольку мастер приложений при создании заготовки кода использует имя проекта в именах файлов и классов.
  • Выберите настройки мастера MFC Application Wizard как указано в таблице, остальные настройки в указанных вкладках должны быть сброшены. В неуказанных вкладках оставьте настройки по умолчанию.
    Таблица настройки мастера создания каркаса приложения
    Свойство проекта Значение
    Вкладка Application Type
    Application Type Dialog Based
    Resource language: Английский (США)
    Project style: MFC standard
    Use of MFC: Use MFC in a shared DLL
    Вкладка Advanced Features
    Все сбросить!
    Вкладка User Interface Features
    Main frame styles: System menu
    About box
    Dialog title: Controls
  • Создав заготовку приложения с помощью мастера, русифицируйте прежде всего ресурсы узлов Dialog и String Table через панель Resource View

  • Спроектируйте диалоговую форму в соответствии с таблицей свойств.
    Таблица свойств главной диалоговой формы Controls
    Элемент управления Свойство Значение
    --------------------------------------------- 0 --------------------------------------------------
    Главная форма Caption Диалоговое приложение - элементы управления
    Font(Size) MS Sans Serif(10)
    Ширина 240
    Высота 180
    Static Text ID IDC_HEAD
    Caption Это пример приложения на C++ Visual Studio .NET, в котором используется множество разных элементов управления
    Ширина 200
    Высота 16
    --------------------------------------------- 1 --------------------------------------------------
    Static Text ID IDC_STATIC_MSG
    Caption Ввести сообщение
    Right Align Text True
    Ширина 70
    Высота 8
    Edit Control ID IDC_MSG
    Ширина 60
    Высота 14
    Button ID IDC_SHOW_MSG
    Caption Отобразить сообщение
    Ширина 85
    Высота 14
    --------------------------------------------- 2 --------------------------------------------------
    Button ID IDC_DEFAULT_MSG
    Caption Сообщение по умолчанию
    Ширина 90
    Высота 14
    Button ID IDC_CLEAR_MSG
    Caption Очистить сообщение
    Ширина 90
    Высота 14
    --------------------------------------------- 3 --------------------------------------------------
    Static Text ID IDC_STATIC_PROGRAM
    Caption Запустить программу
    Right Align Text True
    Ширина 75
    Высота 8
    Combo Box ID IDC_COMBO_RUN
    Ширина 90
    Высота 12
    Button ID IDC_RUN
    Caption Выполнить
    Ширина 50
    Высота 14
    --------------------------------------------- 4 --------------------------------------------------
    Group Box Caption Действия
    Ширина 110
    Высота 40
    Check Box ID IDC_ENABLE_MSG
    Caption Разрешить сообщения
    Check Box ID IDC_ENABLE_PROGRAM
    Caption Разрешить выполнение
    --------------------------------------------- 5 --------------------------------------------------
    Group Box Caption Отображать
    Ширина 110
    Высота 40
    Check Box ID IDC_SHOWS_MSG
    Caption Отображать сообщения
    Check Box ID IDC_SHOWS_PROGRAM
    Caption Отображать выполнение
    --------------------------------------------- 6 --------------------------------------------------
    Button ID IDC_EXIT
    Caption Выход
  • Задавая размеры элементов, пользуйтесь строкой состояния оболочки. Для выравнивания элементов управления используйте панель инструментов Dialog Editor. На этой же панели используйте кнопку Test Dialog для быстрого просмотра внешнего вида формы. После окончания визуального проектирования интерфейса форма должна иметь внешний вид

  • В панели свойств Properties в верхней части раскройте выпадающий список и выделите элемент IDC_COMBO_RUN. Найдите свойство Data (Данные) и введите имена вызываемых программ, разделяя их точкой с запятой
    Notepad;msPaint;Sol
  • Найдите свойство Sort и установите его в состояние True. Такой режим обеспечит автоматическую сортировку элементов списка.
  • Щелкните на стрелке раскрывающегося списка, появится максимальный контур списка в раскрытом состоянии. Переместите нижнюю границу вниз с запасом, чтобы список в раскрытом состоянии имел нужный размер и чтобы точно поместились все его элементы без прокрутки. Отметьте, что если определить высоту, большую чем необходимо, то при выполнении высота раскрытого списка подравнивается под фактическую.
Определение последовательности перехода по клавиши табуляции
  • Установите последовательность перехода к элементам окна при нажатии клавиши Tab. Для этого в меню Format оболочки установите опцию Tab Order. На проекте диалогового окна появятся маркеры порядка перехода. Щелкая мышью по элементам, можно установить порядок получения ими фокуса ввода по клавише Tab. Отметьте для себя, что надписи Static Text в своих свойствах имеют отключенное значение Tabstop, поэтому хоть и маркируются в этом режиме, но реально в получении фокуса ввода не участвуют. После проведенных действий снимите опцию Format/Tab Order через меню или просто щелкните по незанятому месту формы.
Установка и проверка мнемоники
  • Задайте мнемонику на основных элементах проектируемого окна

    Мнемоника - это механизм назначения комбинаций клавиш быстрого доступа к выполнению элементов управления, включая и пункты меню. Мнемоника означает подчеркнутый символ в надписи элемента. Для определения мнемоники в свойстве Caption управляющего элемента помещают & перед символом, который нужно сделать мнемоникой. Важно соблюдать, чтобы каждая мнемоника была уникальна, то есть не использовалась бы более одного раза в одном и том же диалоговом окне или меню.

  • Для проверки непротиворечивости мнемоники выполните действие Check Mnemonics через контекстное меню формы или главное меню Format/Check Mnemonics. Если имееются конфликты символов мнемоники, то оболочка выдаст предупреждение.
Александр Даниленко
Александр Даниленко
Стоит Windows 8 Pro, Visual Studio 2010 Express Edition .