Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Знакомство со средой быстрой разработки приложений. Использование компонент библиотеки VCL




Лабораторная работа 12

 

Цель работы – познакомиться со средой быстрой разработки программ RAD (от англ. rapid application development — быстрая разработка приложений) C++ Builder и с наиболее часто используемыми компонентами библиотеки VCL (Visual Component Library – Визуальная библиотека Компонентов), изучить основные их свойства, создать работающее приложение для операционной системы Windows.

 

Теория

Формы являются основой приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C++ Builder, называемых компонентами. Компоненты C++ Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++ Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.

Компоненты C++ Builder

Компоненты разделяются на видимые (визуальные) и невидимые (невизуальные). Визуальные компоненты появляются во время выполнения точно так же, как и во время проектирования. Примерами являются кнопки и редактируемые поля. Невизуальные компоненты появляются во время проектирования как пиктограммы на форме. Они никогда не видны во время выполнения, но обладают определенной функциональностью (например, обеспечивают доступ к данным, вызывают стандартные диалоги Windows и др.).

Для добавления компонента в форму можно выбрать мышью нужный компонент в палитре и щелкнуть левой клавишей мыши в нужном месте проектируемой формы. Компонент появится на форме, и далее его можно перемещать, менять размеры и другие характеристики.

Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы.

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

 

Свойства компонентов

Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются на странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения.

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

 

События

Страница событий (Events) инспектора объектов показывает список событий, распознаваемых компонентом (программирование для операционных систем с графическим пользовательским интерфейсом, в частности, для Windows 95 или Windows NT пре полагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события). Каждый компонент имеет свой собственный набор обработчиков событий. В C++ Builder следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или иного события, вы поручаете программе выполнить написанную функцию, если это событие произойдет.

Для того чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке значений рядом с событием, чтобы заставить C++ Builder сгенерировать прототип обработчика событий и показать его в редакторе кода. При этом автоматически генерируется текст пустой функции, и редактор открывается в том месте, где следует вводить код. Курсор позиционируется внутри операторных скобок {... }. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках.

 

Методы

Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта. Создавая обработчики событий, можно вызывать методы, используя следующую нотацию: ->.

 

Пример

Edit1->Show();

 

Отметим, что при создании формы связанные с ней модуль и заголовочный файл с расширением *.h генерируются обязательно, тогда как при создании нового модуля он не обязан быть связан с формой (например, если в нем содержатся процедуры расчетов). Имена формы и модуля можно изменить, причем желательно сделать это сразу после создания, пока на них не появилось много ссылок в других формах и модулях.

 

Менеджер проектов

Файлы, образующие приложение – формы и модули – собраны в проект. Менеджер проектов показывает списки файлов и модулей приложения и позволяет осуществлять навигацию между ними. Можно вызвать менеджер проектов, выбрав пункт меню View/Project Manager. По умолчанию вновь созданный проект получает имя Project1.cpp.

По умолчанию проект первоначально содержит файлы для одной формы и исходного кода одного модуля. Однако большинство проектов содержат несколько форм и модулей. Чтобы добавить модуль или форму к проекту, нужно щелкнуть правой кнопкой мыши и выбрать пункт New Form из контекстного меню. Можно также добавлять существующие формы и модули к проекту, используя кнопку Add контекстного меню менеджера проектов и выбирая модуль или форму, которую нужно добавить. Формы и модули можно удалить в любой момент в течение разработки проекта. Однако, из-за того, что форма связаны всегда с модулем, нельзя удалить одно без удаления другого, за исключением случая, когда модуль не имеет связи с формой. Удалить модуль из проекта можно, используя кнопку Remove менеджера проектов.

Если выбрать кнопку Options в менеджере проектов, откроется диалоговая панель опций проекта, в которой можно выбрать главную форму приложения, определить, какие формы будут создаваться динамически, каковы параметры компиляции модулей (в том числе созданных в Delphi, так как C++ Builder может включать их в проекты) и компоновки.

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

Разумеется, C++ Builder обладает встроенной системой контекстно-зависимой помощи, доступной для любого элемента интерфейса и являющейся обширным источником справочной информации о C++ Builder.

Выбор компонентов для групповых операций

Для эффективной разработки пользовательских интерфейсов приложений C++ Builder нередко возникает необходимость в манипулировании компонентами на формах. Большинство операций для манипулирования компонентами находятся в меню Edit. К различным опциям этого меню следует обращаться после того, как на форме вы ран один или несколько компонентов, свойства которых требуется изменить.

Выбрать один компонент можно следующими способами:

1. Выбрав с помощью мыши компонент на форме

2. Выбрав имя компонента в селекторе объектов.

3. Переходом к компоненту на форме, нажимая клавишу Tab.

Выбрать несколько компонентов можно следующими способами:

1. Удерживая нажатой клавишу Shift, щелкнуть мышью на каждом компоненте.

2. Нажать левую клавишу мыши и окружить нужные компоненты прямоугольным контуром.

 

Установка разделяемых свойств компонентов

Большинство визуальных компонентов имеют общие свойства, (например, Visible, Width, Left). Для установки одинаковых значений общих свойств для нескольких компонентов необходимо выполнить следующие действия:

1. Выбрать несколько настраиваемых компонентов. При этом страница свойств объектов будет отображать только те свойства, которые имеются у всех выбранных компонентов.

2. Установить значения свойств, общих для выделенных компонентов.

Изменение размера компонентов

Изменение размера компонента можно проводить как при добавлении его на форму, так и после этого.

При добавлении компонента следует выбрать его на палитре компонентов. Далее нужно поместить курсор мыши на форму, нажать левую клавишу и перемещать мышь, в результате чего на форме появится прямоугольник, изображающий границы будущего компонента. Когда прямоугольник приобретет необходимые размеры, нужно отпустить кнопку мыши.

Если перевести курсор мыши на один из появившихся вокруг компонента маленьких черных квадратиков, курсор мыши изменяет форму. Перемещая этот курсор и вместе с ним границу компонента, можно изменять его размеры.

Для изменения размеров нескольких компонентов следует выбрать их одним из описанных выше способов. Далее нужно выбрать пункт меню Edit/Size. Появится диалоговое окно Size. Выберите опции размера. Для точной установки размера в пикселях можно ввести числа в поля Width и Height. Далее нужно нажать кнопку OK.

Можно добавить несколько копий компонента одного типа, выбирая компонент из палитры при нажатой клавише Shift. В этом случае вокруг компонента появляется прямоугольник, окружающий этот компонент. После этого каждый щелчок мышью на форме приводит к появлению на ней копии компонента. Закончив режим многократного копирования, следует щелкнуть мышью на инструменте выбора курсора (первая кнопка на палитре компонентов с изображением стрелки).

Выравнивание компонентов

Для выравнивания компонентов на форме можно использовать следующие комбинации клавиш (таблица).

 

Комбинация клавиш Действие
Shift + стрелки Изменяет размер компонента на один пиксель в направлении выбранной стрелки
Shift + Ctrl + стрелки Перемещает компонент на одну единицу сетки в направлении выбранной стрелки
Ctrl + стрелки Перемещает компонент на один пиксель в направлении выбранной стрелки

 

Можно также выровнять компоненты, используя пункт меню View/Alignment Palette. Для этого нужно:

1. Выбрать компоненты для выравнивания.

2. Выбрать пункт меню View/Alignment Palette.

3. Выбрать нужную кнопку.

Можно выровнять компоненты, используя пункт меню Edit/Align. Для этого нужно:

1. Выбрать компоненты для выравнивания.

2. Выбрать пункт меню Edit/Align. Появится диалоговое окно Alignment.

3. Выбрать нужную опцию и нажать на кнопку OK.

Можно изменить условия выравнивания компонент, используя пункт меню Options/Environment. Для этого нужно:

1. Выбрать пункт меню Options/Environment. Диалоговое окно Environment появится открытым на странице Preferences.

2. В группе Form designer можно выбрать следующие опции:

1) Display grid – сделать сетку из точек на форме видимой для выравниваемых компонентов;

2) Snap to grid – заставить левые и верхние стороны компонентов расположиться на линиях сетки.

3. Для того чтобы изменить расстояние между узлами сетки, нужно ввести новые значения вместо имеющихся. Значение по умолчанию -- 8 пикселей по оси X (по горизонтали) и по оси Y (по вертикали).

4. Нажать OK.

Создание приложений в C++ Builder

Первым шагом в разработке приложения C++ Builder является создание проекта. Файлы проекта содержат сгенерированный автоматически исходный текст, который становится частью приложения, когда оно скомпилировано и подготовлено к выполнению. Чтобы создать новый проект, нужно выбрать пункт меню File/New Application.

C++ Builder создает файл проекта с именем по умолчанию Project1.cpp, а также make-файл с именем по умолчанию Project1.mak. При внесении изменений в проект, таких, как добавление новой формы, C++ Builder обновляет файл проекта.

Проект или приложение обычно имеют несколько форм. Добавление формы к проекту создает следующие дополнительные файлы:

1. Файл формы с расширением. DFM, содержащий информацию о ресурсах окон для конструирования формы

2. Файл модуля с расширением. CPP, содержащий код на C++.

3. Заголовочный файл с расширением. H, содержащий описание класса формы.

Когда вы добавляете новую форму, файл проекта автоматически обновляется.

Для того чтобы добавить одну или более форм к проекту, выберите пункт меню File/New Form. Появится пустая форма, которая будет добавлена к проекту. Можно воспользоваться пунктом меню File/New, выбрать страницу Forms и выбрать подходящий шаблон из репозитория объектов.

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

Если при выполнении приложения возникает ошибка времени выполнения, C++ Builder делает паузу в выполнении программы и показывает редактор кода с курсором, установленным на операторе, являющемся источником ошибки. Прежде чем делать необходимую коррекцию, следует перезапустить приложение, выбирая пункт меню Run из контекстного меню или из меню Run, закрыть приложение и лишь затем вносить изменения в проект. В этом случае уменьшится вероятность потери ресурсов Windows.

 

Задание

Упражнение 1

1. Запустите C++Builder. На экране должна появиться пустая форма. По умолчанию ей присвоено имя Form1 (Object Inspector(инспектор объектов) -> Name), убедитесь в этом.

2. Щелкните на заголовок инспектора объектов. Окажется выделенным свойство Caption (заголовок), там же будет располагаться курсор.

3. Введите свои фамилию и имя на место мигания курсора.

4. Обратите внимание, что заголовок формы изменился.

5. Нажмите на кнопку Run (зеленая кнопка в виде стрелки).

6. На экране появится пустая форма с заданным вами заголовком. Это готовая простейшая программа под Windows. В данном случае ваша программа отличается от редактора форм только отсутствием сетки.

Упражнение 2

1. Найдите в палитре компонентов элемент Label и разместите его главной форме. Измените свойство Caption на «Лабораторная работа №2». Поэкспериментируйте со свойствами Align, Color, Font и другими.

2. Найдите в палитре компонентов Memo, Button, Edit. Поэкспериментируйте с ними.

3. Изучите палитру компонентов (поэкспериментируйте с другими компонентами и их свойствами).

Упражнение 3

1. Запустите новый проект.

2. Щелкните на вкладке Additional в палитре компонентов, выберите компонент Image и поместите его в форму.

3. Найдите свойство Align и измените его значение на AlClient. Изображение заполнит всю рабочую область формы.

4. Найдите свойство Stretch и измените его значение на true.

5. Найдите свойство Picture и дважды щелкните на столбце значений. Откроется диалоговое окно редактора изображений.

6. Щелкните на кнопке Load. Откроется диалоговое окно File Open.

7. Выберите картинку, нажмите OK.

8. Вы оказались снова в диалоговом окне редактора изображений, а выбранное изображение выведено в окно предварительного просмотра. Щелкните на кнопке OK.

9. Щелкните Run и посмотрите, что получилось.

Упражнение 4

1. Создайте новый проект.

2. Щелкните на вкладке Win32 в палитре компонентов, выберите компонент RichEdit и поместите его в форму.

3. Найдите свойство Align и измените его значение на AlClient. Компонент заполнит всю рабочую область формы.

4. Найдите свойство ScrollBars и измените его значение на ssBoth. Теперь, если текст, введенный в компонент, выходит за его пределы, то появятся полосы прокрутки.

5. Найдите свойство Lines и введите в его поле любой текст. Нажмите кнопку OK.

6. Щелкните на кнопку Run.

Упражнение 5

1. Создайте новый проект.

2. Щелкните на вкладке Win32 в палитре компонентов, выберите компоненты TrackBar и ProgressBar, поместите их на форму.

3. Выберите компонент TrackBar, найдите свойство Max и установите его значение равным 100.

4. Перейдите на вкладку Events инспектора объектов, щелкните дважды на событии OnChange, в появившемся окне с сгенерированной функцией обработки события введите следующий код:

void __fastcall TForm1::TrackBar1Change(TObject *Sender)

{

ProgressBar1->Position = TrackBar1->Position;

//необходимый код

}

5. Щелкните на кнопку Run.

 

Упражнение 6

Создайте собственную форму, которая будет содержать компоненты, изученные вами в этой лабораторной работе.




Поделиться с друзьями:


Дата добавления: 2015-08-31; Просмотров: 483; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.