Печатать книгуПечатать книгу

§ 5. Визуальная среда разработки программ

Сайт: Профильное обучение
Курс: Информатика. 11 класс (Повышенный уровень)
Книга: § 5. Визуальная среда разработки программ
Напечатано:: Гость
Дата: Понедельник, 29 Апрель 2024, 16:28

Работа по созданию оконных приложений рассматривается в среде программирования CBuilder[1].



[1] https://www.embarcadero.com/ru/products/cbuilder/starter/free-download

5.1. Структура проекта

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

  • файл программного модуля (1), содержащий описание функций-обработчиков для объектов, размещенных на форме;
  • файл формы (2), содержащий описание внешнего вида окна приложения;
  • заголовочный файл (3), содержащий описание класса формы;
  • файл проекта (4), позволяющий связать структурные элементы проекта между собой.

 (Рассмотрите пример 5.1)

Для создания проекта нужно выполнить команды File New ˃ Windows VCL Applications — C++Builder (пример 5.2).

После создания проекта необходимо сохранить все файлы проекта (пример 5.3).

Файлы одного проекта обычно хранятся внутри отдельной папки. При компиляции приложения создается папка Win32 (Win64), в которой будет сохранен файл с расширением exe и именем, совпадающим с именем проекта. Этот файл запустит работающее приложение без загрузки среды программирования. Остальные файлы, которые создаются в этой папке необходимы только для отладки приложения и могут быть удалены, если работа над приложением закончена. (Как скомпилировать приложение, чтобы его можно было запустить на компьютере, на котором не установлена среда программирования С++Builder, см. в Приложении).

Для запуска приложения можно использовать кнопки   на панели быстрого доступа или клавишу F9.

Некоторые полезные настройки среды описаны в Приложении.

Пример 5.1. Файлы проекта:

Пример 5.2. Создание проекта в C++Builder:

 

Пример 5.3. Сохранение файлов и выполнение проекта:

  1. Создать папку с именем Primer.
  2. Сохранить проект: File  Save Project As…
  3. Первым сохраняется программный модуль (имя по умолчанию — Unit1.cpp). Вместе с этим файлом создаются файлы Unit1.dfm и Unit1.h, имена которых совпадают с именем файла программного модуля и отличаются расширениями.
  4. Далее сохраняется заголовочный файл проекта имя по умолчанию — Project1PCH1.h.
  5. Затем сохраняется файл проекта (имя по умолчанию — Project1.cbproj). В примере 5.1 это имя заменено на primer.cbproj. При изменении имени проекта автоматически изменяется и имя заголовочного файла проекта.
  6. Запустить проект на выполнение.
Вид окна приложения:

Команды для компиляции файлов проекта находятся в меню Project:

5.2. Интерфейс среды программирования

Полное окно среды программирования C++Builder можно посмотреть в Приложении.

Рассмотрим основные элементы.

Основное меню и панель быстрого доступа (пример 5.4) содержат команды для управления проектом: сохранение, загрузка, выполнение и др.

Форма (пример 5.5) служит для визуального отображения окна приложения. Во время проектирования приложения на форме отображается точечная сетка, позволяющая выравнивать помещаемые на форму компоненты.

Инспектор объектов (пример 5.6) отображает свойства (или события) выбранного объекта.

В левом столбце вкладки Properties перечислены все свойства объекта, которыми пользователь может управлять при проектировании приложения. В правом столбце указаны значения свойств, которые можно изменять.

Вкладка Events содержит список событий для объекта. Для каждого события может быть определен свой обработчик. Если обработчик для события определен, напротив события будет прописано имя функции обработчика.

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

Пример 5.4. Меню и панель быстрого доступа:

Пример 5.5. Форма:

Пример 5.6. Инспектор объектов. Отображаются свойства формы:

Отображаются события кнопки:

Пример 5.7. Палитра компонентов:

5.3. Работа с формой

Форма является объектом и служит для визуального отображения окна приложения. Как любой объект, форма обладает свойствами (пример 5.8).

Свойство

Назначение

Caption

Заголовок (внешнее имя) формы отображается в строке заголовка окна при запуске приложения. По умолчанию — Form1

Color

Цвет формы. Может быть выбран один из стандартных (перечислены в списке) или задан вручную. Количество цветов соответствует палитре RGB — 16777215 (2563— 1)

Height

Высота формы

Weight

Ширина формы

Left

Горизонтальная координата положения верхнего левого угла окна формы на экране

Top

Вертикальная координата положения верхнего левого угла окна формы на экране

Name

Имя (внутреннее) формы. Используется в программном коде для обращения к объекту. Является идентификатором

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

Имя функции-обработчика состоит из названия компонента, над которым происходит событие, и названия события (FormClick).

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

  • кнопка  на панели быстрого доступа;
  • клавиша F12;
  • вкладки Unit и Design в нижней части окна приложения: 

При создании функций-обработчиков свойства объектов можно изменять путем написания программного кода. Обращение к свойствам объекта происходит через указатель, поэтому применяется знак стрелка «->». Сначала указывается имя объекта, затем имя свойства. Например, для установки цвета формы нужно записать следующую команду:

Form1 -> Color = clAqua;

Система C++Builder позволяет упростить ввод сложных имен в код программы. После того, как вы наберете Form1->, на экране появится список со всеми свойствами и методами, которые относятся к объекту Form1 (пример 5.10).

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

Этапы выполнения задания

  1. Перейти на вкладку Events в окне инспектора объектов.
  2. Выполнить двойной щелчок в поле напротив события OnClik.
  3. В окне редактора кода, в функции TForm1::FormClick(TObject *Sender); вписать команду Form1 -> Color = clRed;
  4. Сохранить изменения в проекте.

Пример 5.8. Изменение свойств формы в инспекторе объектов:

Свойство

Значение

Caption

Пример 1

Color

clAqua (выбрать из списка)

Height

250

Weight

250

Left

200

Top

200

После изменения значений свойств в инспекторе объектов изменится внешний вид формы:

Пример 5.9. Создание обработчика события OnClick (клик левой клавишей мыши) для формы.

1. Выбор события в инспекторе объектов:

2. Окно программного кода со вставленным обработчиком:

Пример 5.10. Подсказка системы при вводе свойств объекта:

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

Пример 5.11. Код функции-обработчика:

void __fastcall TForm1::FormClick
(TObject *Sender)
{
    Form1 -> Color = clRed;
}

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

Форма после запуска проекта:

Форма после щелчка мыши по ней:

Вопросы к параграфу

1. Какие элементы среды C++Builder отображаются на экране при загрузке среды?

2. Какие файлы входят в состав приложения, создаваемого в C++Builder?

3. Для чего предназначена форма?

4. Для чего используют инспектор объектов?

5. Какие свойства форм вы можете назвать?

6. Как создать обработчик события?

7. Какое имя по умолчанию получает функция обработчик?

Упражнения

   

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

    1. Создайте и сохраните в новой папке проект.
    2. Измените свойство Caption у формы на Упражнение 1.
    3. Создайте обработчик события мыши OnlClick.
    4. Для изменения местоположения формы можно воспользоваться командами:
      Form1 -> Left = 0;
      Form1 -> Top = 0;
    5. Сохраните изменения в проекте.
    6. Запустите проект и проверьте его работу.

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

    1. Создайте и сохраните в новой папке проект.
    2. Измените свойство Caption у формы на Упражнение 2.
    3. Создайте обработчик события мыши OnDblClick.
    4. Для изменения ширины и высоты формы можно воспользоваться командами:
      Form1 -> Width += 5;
      Form1 -> Height += 5;
    5. Сохраните изменения в проекте.
    6. Запустите проект и проверьте его работу.

3. Создайте проект, в котором цвет формы будет меняться при наведении на нее мыши, например с желтого на зеленый.

    1. Измените свойство Caption у формы на Упражнение 3.
    2. Установите желтый цвет формы.
    3. Создайте обработчики для двух событий мыши: OnMouseEnter и OnMouseLeave.
    4. В коде события OnMouseEnter установите зеленый (clGreen) цвет формы, а в коде события OnMouseLeave — желтый (clYellow).
    5. Сохраните изменения в проекте.
    6. Запустите проект и проверьте его работу.

4. Внесите изменения в проект из примера 5.11 так, чтобы цвет формы менялся случайно. Для задания цвета случайным образом можно воспользоваться командой, которая получает цвет, используя случайные составляющие цвета: Form1 -> Color = (TColor) RGB (rand() % 256, rand() % 256, rand() % 256).