Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Конспект лекций Часть II.doc
Скачиваний:
14
Добавлен:
20.11.2018
Размер:
1.48 Mб
Скачать

П. 5.3 Разработка и компоновка диалоговых панелей.

Существует два способа создания диалогового окна. Если описание окна уже существует в каком-нибудь листинге, то проще всего с помощью текстового редактора ввести это описание в том виде, в каком оно есть, после чего сохранить его в файле сценария ресурсов с расширением RC. Затем с помощью компилятора ресурсов преобразовать данный файл в RES-файл. Если же создается совершенно новое диалоговое окно, следует использовать соответствующий редактор ресурсов.

Чтобы вызвать редактор диалоговых окон, выберите в меню Insert команду Resource, а затем в списке Resourcetype— элемент Dialog. Начальный вид окна редактора показан на рис. 5.1.

В данный момент в окне содержится первичный макет создаваемого диалогового окна.

Рис. 5.1. Диалоговое окно в процессе редактирования

Размещение элементов управления

Прежде чем приступать к разработке диалогового окна с помощью редактора ресурсов, следует разобраться в многочисленных элементах управления, которые можно использовать в диалоговых окнах (рис. 5.2).

Ниже перечислены все доступные элементы управления и дано их краткое описание.

  • Надпись (StaticText) представляет собой произвольный текст, который можно разместить в любом месте диалогового окна, например возле текстового поля, чтобы указать его назначение.

  • Рамка (GroupBox) окружает группу логически связанных элементов управления. В верхнем левом углу рамки автоматически добавляется надпись.

  • Флажок (CheckBox) представляет собой маленькое квадратное поле, в котором можно устанавливать и снимать метки. Справа от флажка автоматически добавляется надпись. Обычно используются группы флажков, представляющих наборы взаимосвязанных опций.

  • Поле со списком (ComboBox) — это комбинация двух элементов управления: поля и списка. С его помощью пользователь может либо выбирать элемент из списка, либо добавлять в список новый элемент.

  • Горизонтальная полоса прокрутки (HorizontalScrollBar) обычно используется для просмотра больших блоков текста или графических изображений, не помещающихся в отведенной им области окна.

  • Счетчик (Spin) представляет собой комбинацию двух кнопок со стрелками. Обычно со счетчиком связано поле для ввода числовых значений. Щелчок на соответствующей кнопке счетчика приводит к увеличению или уменьшению значения в поле.

  • Регулятор (Slider) состоит из горизонтальной или вертикальной полосы и бегунка на ней. Регулятор обычно используется для пошагового изменения связанного с ним значения в заданном диапазоне.

  • Четырехрежимный список (ListControl) представляет собой прямоугольную область со списком значков, которые можно отображать в увеличенном или уменьшенном виде, выстраивать друг под другом или рядом, располагать в виде простого списка или в виде таблицы с возможностью сортировки по различным столбцам.

  • Вкладки (TabControl) используются в тех случаях, когда диалоговое окно содержит слишком много различных опций. Вместо того чтобы бесконечно увеличивать размер окна, пытаясь вывести на экран все опции, можно создать многостраничное окно, каждая страница которого будет представлена своим ярлычком вкладки. Таким образом, опции диалогового окна будут разбиты на категории и помещены на разных страницах.

  • Расширенное поле (RichEdit) позволяет вводить многострочные блоки текста. Введенный текст можно форматировать, внедрять в него OLE-объекты.

  • Рисунок (Picture) — это прямоугольная область, куда может быть вставлено графическое изображение.

  • Поле (EditBox) — это прямоугольная область, в которую пользователь может вводить текст. Поступающий текст может интерпретироваться как набор символов или как число (в этом случае автоматически производится проверка правильности ввода).

  • Кнопки (Button) обычно служат средством выдачи команд наподобие закрытия окна или отмены выполненных установок. По умолчанию они содержат только надпись, но могут также содержать значок или небольшое изображение.

  • Переключатель (RadioButton) представляет собой маленький кружок, справа от которого добавляется надпись. Переключатели, как и флажки, обычно располагаются группами, но особенностью группы переключателей является то, что в ней можно выбрать только один переключатель.

  • Список (ListBox) представляет собой прямоугольную область с набором текстовых элементов. Таковым, в частности, является список файлов текущего каталога.

  • Вертикальная полоса прокрутки (VerticalScrollВаг) аналогична по назначению горизонтальной полосе прокрутки.

  • Индикатор (Progress) предназначен для визуального отображения хода выполнения программой какого-либо задания. Он представляет собой полосу, которая по мере выполнения задания заполняется квадратиками.

  • Горячими клавишами (HotKey) называются сочетания клавиш, посредством которых можно выполнять команды меню, не прибегая к помощи мыши. В диалоговом окне данный элемент управления представляется полем, в котором отображаются обозначения нажимаемых клавиш.

  • Дерево (TreeControl) отображает список элементов в виде древовидной структуры. С помощью дерева удобно отображать иерархические зависимости между объектами.

  • Анимацией (Animate) называется элемент управления, позволяющий отображать видеоклипы в формате AVI (audio video interleaved).

  • Пользовательский элемент управления (CustomControl) служит оболочкой для внедрения в диалоговое окно любого элемента управления, разработанного пользователем. После появления технологии ActiveX такая методика считается устаревшей, поэтому пользовательский элемент управления существует просто для обеспечения совместимости со старыми проектами.

Рис. 5.2. Панель инструментов редактора диалоговых окон

Чтобы добавить в макет диалогового окна новый элемент управления, нужно выбрать на панели соответствующий инструмент, установить указатель мыши в нужное место окна и, удерживая нажатой левую кнопку мыши, очертить контур элемента управления. Впоследствии такой элемент управления можно будет переместить в другое место, изменить его размер.

Компоновка диалогового окна

Рассмотрим кратко процесс создания простого диалогового окна About. Окно с данным названием является "визитной карточкой" приложения, содержит номер его версии и указывает обладателей авторских прав. Обычно в таком окне имеется единственная кнопка ОК, и его создание не составляет труда. Заготовка диалогового окна показана на рис. 5.3. Остается только добавить соответствующий текст и правильно разместить элементы управления.

В нашем окне About имеются элементы управления только двух типов — надписи и кнопки. Используя мышь, разместим в окне первую надпись и определим для нее подходящий размер. Затем выполним двойной щелчок внутри надписи, чтобы в открывшемся окне свойств задать ее текст (см. рис. 5.3).

Рис. 5.3. Окно About после добавления текста надписи

Чтобы удалить ненужную кнопку Cancel, щелкнем на ней мышью и нажмем клавишу [Del], после чего разместим кнопку ОК там, где хотите ее видеть. На рис. 5.4 показан окончательный вариант макета создаваемого диалогового окна. Рис. 5.4. Окончательный вид окна About

Чтобы сохранить новое диалоговое окно, выберите в меню File команду Save. В результате будет создан файл в формате RC. Для просмотра файла сценария ресурсов можно использовать любой текстовый редактор, в том числе редактор компилятора VisualC++.

Одновременно с созданием файла ресурсов создается включаемый файл resource.h, содержащий определения числовых идентификаторов, используемых в файле ресурсов (по умолчанию созданному диалогу присваивается идентификатор IDD_DIALOG1, идентификаторы ресурсов можно впоследствии изменять). Этот файл необходимо включить в файл с исходным текстом приложения директивой #include, а файл .rc - в проект приложения.

Для подключения файла ресурсов в проект приложения следует выполнить следующие действия: выбрать меню Project -> выбрать пункт Add To Project -> выбрать пункт Files -> ввести имя файла resource.rc -> выбрать кнопку OK.

В результате в рабочем пространстве помимо закладки FileView, позволяющей просматривать и редактировать исходные файлы проекта, появляется закладка ResourceView, при помощи которой можно просмотреть и изменить ресурсы приложения.

  Для того чтобы добавить какой-либо другой ресурс, необходимо проделать практически ту же самую последовательность действий: : выбрать меню Insert -> выбрать пункт Resourse -> отметить необходимый тип ресурса -> выбрать кнопку New -> отредактировать ресурс -> сохранить изменения.