Файлы к данной лабораторной работе, Вы можете скачать
здесь.
Оболочка содержит большинство управляющих элементов управления в готовом виде. Визуальный способ проектирования диалоговых панелей обеспечивает удобство и скорость для разработчика. Компоненты управляющих элементов содержатся в виде пиктограмм на панели Toolbox, вызываемой через главное меню оболочки View. Панель имеет три вкладки, нас интересует вкладка Dialog Editor. Если пиктограммы компонентов не помещаются в панели, то вверху и внизу по правой стороне существуют кнопки прокрутки.
Перенести компоненты управляющих элементов можно тремя способами:
- Двойной щелчок на пиктограмме компонента.
- Перетаскивание мышью.
-
Выделение компонента на пиктограмме, затем выделение его места размещения на форме диалогового окна щелчком.
-
Выделение компонента на пиктограмме, затем растягивание контура компонента на форме.
Каждому элементу управления, представленному на визуальной панели компонентов, соответствует класс библиотеки MFC. Любой из этих классов является потомком базового класса CWnd, поэтому представляет собой окно Windows.
Ресурс каждого элемента управления должен иметь внутри формы диалогового окна уникальный идентификатор. Его можно назначать самому через панель свойств Properties, задавая в поле ID элемента мнемоническое значение или вибирая из раскрывающегося списка того же поля заготовленные имена. В любом случае рекомендуется соблюдать соглашения о префиксах: идентификаторы диалоговых окон имеют префикс , а идентификаторы элементов управления - префикс .
Цель работы
- Изучить основные элементы управления диалоговых приложений.
- Научиться объявлять переменные для компонентов и связывать их с самими компонентами.
- Научиться синхронизировать значения между самими элементами управления и представляющими их в программе переменными.
- Научиться задавать порядок получения фокуса ввода между элементами управления.
- Научиться инициировать действия с помощью элементов управления.
- Научиться задавать внешний вид элементов управления и изменять его во время выполнения приложения.
Изучаемые элементы управления
Рассмотрим некоторый элементы управления, а именно:
-
Static Text - статический текст
-
Edit Control - поле редактирования
-
Button - кнопка
-
Check Box - флажок
-
Radio Button - радиокнопка
-
Combo Box - поле ввода со списком
Static Text - статический текст
Этот элемент служит для отображения текста и не обеспечивает интерактивность (взаимодействие с пользователем), поэтому список событий у него пустой. Но можно заменять текст в процессе выполнения приложения, воздействуя на его свойство Caption.
Основные свойства элемента управления Static Text |
Свойство |
Описание |
ID |
Идентифицирует элемент управления. Значение по умолчанию всегда IDC_STATIC
|
Caption |
Определяет текст в элементе управления |
Visible |
Включает - выключает видимость элемента во время выполнения ( true - видимый, false - невидимый). |
Disabled |
Управляет представлением элемента как заблокированного или нет ( false - незаблокированный, true - заблокированный). Надпись заблокированного элемента отображается серым текстом |
Tabstop |
Определяет, участвует ли элемент управления в процессе переноса фокуса ввода с помощью клавиши Tab
|
Client Edge |
Включает рамку элемента управления |
Align Text |
Задает выравнивание текста внутри окна элемента |
Border |
Показывает рамку вокруг элемента |
Transparent |
Включает прозрачный фон окна компонента |
CStatic - класс поддержки в MFC
|
Edit Control - поле редактирования
Этот элемент управления позволяет получить от пользователя текстовую информацию. Окно воспринимает только простой текст с минимальными возможностями редактирования.
Основные свойства элемента управления Edit Control |
Свойство |
Описание |
ID |
Идентифицирует элемент управления |
Visible |
Включает - выключает видимость элемента во время выполнения ( true - видимый, false - невидимый). |
Disabled |
Управляет представлением элемента как заблокированного или нет ( false - незаблокированный, true - заблокированный). Надпись заблокированного элемента отображается серым текстом. |
Tabstop |
Определяет, участвует ли элемент управления в процессе переноса фокуса ввода с помощью клавиши Tab. |
Client Edge |
Включает рамку элемента управления |
Align Text |
Задает выравнивание текста внутри окна элемента |
Border |
Показывает рамку вокруг элемента |
Transparent |
Включает прозрачный фон окна компонента |
Number |
Задает фильтр ввода "только для чисел" |
Password |
Эхо ввода заменяет символом * |
Multiline |
Включает возможность ввода нескольких строк |
Modal Frame |
Включает выпуклое обрамление рамки окна компонента |
OEM Convert |
Включает автоматическую конвертацию кодировки CharToOem
|
Uppercase |
Включает автоматическое преобразование в заглавные буквы (работает совместно с Lowercase как радиокнопка) |
Lowercase |
Включает автоматическое преобразование в строчные буквы (работает совместно с Uppercase как радиокнопка) |
Read Only |
Только для чтения - блокирует ввод |
CEdit - класс поддержки в MFC
|
Button - кнопка
Основные свойства элемента управления Button |
Свойство |
Описание |
ID |
Идентифицирует элемент управления |
Caption |
Определяет текст в элементе управления. |
Visible |
Включает - выключает видимость элемента во время выполнения ( true - видимый, false - невидимый). |
Disabled |
Управляет представлением элемента как заблокированного или нет ( false - незаблокированный, true - заблокированный). Надпись заблокированного элемента отображается серым текстом. |
Tabstop |
Определяет, участвует ли элемент управления в процессе переноса фокуса ввода с помощью клавиши Tab. |
Client Edge |
Включает рамку элемента управления. |
Horizontal Alignment |
Задает выравнивание текста внутри окна элемента по горизонтали. |
Vertical Alignment |
Задает выравнивание текста внутри окна элемента по вертикали |
Transparent |
Включает прозрачный фон окна компонента |
Multiline |
Включает возможность ввода нескольких строк |
Modal Frame |
Включает выпуклое обрамление рамки окна компонента |
Static Edge |
Включает рамку элемента управления без выпуклого представления |
Default Button |
Задает фокус ввода при первом запуске приложения. Отмечает, что эта кнопка будет выполнена при нажатии клавиши Enter. |
CButton - класс поддержки в MFC
|
Check Box - флажок
Дает возможность пользователю включить или выключить некую возможность (опцию). Возможны флажки с промежуточным - третьим - состоянием.
Основные свойства элемента управления Check Box |
Свойство |
Описание |
ID |
Идентифицирует элемент управления |
Caption |
Определяет поясняющий текст на элементе управления |
Visible |
Включает - выключает видимость элемента во время выполнения ( true - видимый, false - невидимый). |
Disabled |
Управляет представлением элемента как заблокированного или нет ( false - незаблокированный, true - заблокированный). Изображение заблокированного элемента отображается серым |
Tabstop |
Определяет, участвует ли элемент управления в процессе переноса фокуса ввода с помощью клавиши Tab. |
Client Edge |
Включает рамку элемента управления |
Horizontal Alignment |
Задает выравнивание текста внутри окна элемента по горизонтали. |
Vertical Alignment |
Задает выравнивание текста внутри окна элемента по вертикали |
Tri-state |
Включает третье состояние disabled (заблокирован). В этом состоянии значение элемента не рассматривается ни как true, ни как false. |
Transparent |
Включает прозрачный фон окна компонента |
Multiline |
Включает возможность ввода нескольких строк |
Modal Frame |
Включает выпуклое обрамление рамки окна компонента |
Static Edge |
Включает рамку элемента управления без выпуклого представления |
Left Text |
Располагает надписи слева от флажка. При значении false надписи располагаются справа от флажка |
Radio Button - радиокнопка
Этот элемент используется в группе, состоящей из двух и более переключателей. Пользователь может выбрать состояние, закрепленное только за одним переключателем группы.
Основные свойства элемента управления Radio Button |
Свойство |
Описание |
ID |
Идентифицирует элемент управления. |
Caption |
Определяет поясняющий текст на элементе управления. |
Visible |
Включает - выключает видимость элемента во время выполнения ( true - видимый, false - невидимый). |
Disabled |
Управляет представлением элемента как заблокированного или нет ( false - незаблокированный, true - заблокированный). Изображение заблокированного элемента отображается серым. |
Tabstop |
Определяет, участвует ли элемент управления в процессе переноса фокуса ввода с помощью клавиши Tab. |
Client Edge |
Включает рамку элемента управления |
Horizontal Alignment |
Задает выравнивание текста внутри окна элемента по горизонтали |
Vertical Alignment |
Задает выравнивание текста внутри окна элемента по вертикали |
Transparent |
Включает прозрачный фон окна компонента |
Multiline |
Включает возможность ввода нескольких строк |
Modal Frame |
Включает выпуклое обрамление рамки окна компонента |
Static Edge |
Включает рамку элемента управления без выпуклого представления |
Group |
Определяет первый из элементов управления в группе. Только у первого элемента в группе это свойство должно иметь значение true
|
Auto |
По умолчанию задано значение true, что позволяет переключателю автоматически изменять свое состояние при его выборе пользователем |
Left Text |
Располагает надписи слева от переключателя. При значении false надписи располагаются справа от переключателя. |
Combo Box - поле ввода со списком
Предоставляет раскрывающийся список выбора.
Основные свойства элемента управления Combo Box |
Свойство |
Описание |
ID |
Идентифицирует элемент управления |
Visible |
Включает - выключает видимость элемента во время выполнения ( true - видимый, false - невидимый). |
Disabled |
Управляет представлением элемента как заблокированного или нет ( false - незаблокированный, true - заблокированный). Изображение заблокированного элемента отображается серым. |
Tabstop |
Определяет, участвует ли элемент управления в процессе переноса фокуса ввода с помощью клавиши Tab. |
Client Edge |
Включает рамку элемента управления. |
Modal Frame |
Включает выпуклое обрамление рамки окна компонента |
Static Edge |
Включает рамку элемента управления без выпуклого представления |
Group |
Определяет первый из элементов управления в группе. Только у первого элемента в группе это свойство должно иметь значение true
|
Auto |
По умолчанию задано значение true, что позволяет переключателю автоматически изменять свое состояние при его выборе пользователем |
Sort |
Определяет, будут ли отсортированы элементы в раскрывающемся списке |
Type |
Задает тип списка:
" Dropdown - раскрывающийся при получении фокуса ввода
" Simple - раскрыт все время Drop List - раскрывающийся с изображением текущего элемента списка. |
CComboBox - класс поддержки в MFC
|
Класс CComboBox является производным от класса CWnd, но в свою очередь служит базовым классом для класса CComboBoxEx, который предоставляет функции для включения изображений в выбираемые элементы раскрывающегося списка.
Класс CComboBox предоставляет функции для программного взаимодействия со списком:
-
GetCurSel() - определяет номер текущего пункта списка
-
SetCurSel() - устанавливает текущим элемент с заданным номером
-
SelectString() - выделяет строку
-
FindString() - ищет строку
-
AddString() - добавляет строку в конец списка
-
InsertString() - вставляет строку перед текущей
-
DeleteString() - удаляет текущую строку
-
ResetString() - устанавливает список в исходное состояние