Формы являются основой приложений C++ Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов C++ Builder, называемых компонентами. Компоненты C++ Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность C++ Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.
Для добавления компонента в форму можно выбрать мышью нужный компонент в палитре и щелкнуть левой клавишей мыши в нужном месте проектируемой формы. Компонент появится на форме, и далее его можно перемещать, менять размеры и другие характеристики.
Каждый компонент C++ Builder имеет три разновидности характеристик: свойства, события и методы.
Если выбрать компонент из палитры и добавить его к форме, инспектор
объектов автоматически покажет свойства и события, которые могут быть использованы
с тим компонентом. В верхней части инспектора объектов имеется выпадающий
список, позволяющий выбирать нужный объект из имеющихся на форме.
При определении свойств компонента во время проектирования нужно выбрать компонент на форме, открыть страницу свойств в инспекторе объектов, выбрать определяемое свойство и изменить его с помощью редактора свойств (это может быть п остое поле для ввода текста или числа, выпадающий список, раскрывающийся список, диалоговая панель и т.д.).
Для того, чтобы добавить обработчик событий, нужно выбрать на форме
с помощью мыши компонент, которому необходим обработчик событий, затем
открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей
мыши на колонке з ачений рядом с событием, чтобы заставить C++ Builder
сгенерировать прототип обработчика событий и показать его в редакторе кода.
При этом автоматически генерируется текст пустой функции, и редактор открывается
в том месте, где следует вводить код. Курсор позиционируется внутри операторных
скобок { ... }. Далее нужно ввести код, который должен выполняться при
наступлении события. Обработчик событий может иметь параметры, которые
указываются после имени функции в круглых скобках.
Edit1->Show();Отметим, что при создании формы связанные с ней модуль и заголовочный файл с расширением *.h генерируются обязательно, тогда как при создании нового модуля он не обязан быть связан с формой (например, если в нем содержатся процедуры расчетов). Имена формы и модуля можно изменить, причем желательно сделать это сразу после создания, пока на них не появилось много ссылок в других формах и модулях.
По умолчанию проект первоначально содержит файлы для одной формы и исходного кода одного модуля. Однако большинство проектов содержат несколько форм и модулей. Чтобы добавить модуль или форму к проекту, нужно щелкнуть правой кнопкой мыши и выбрать пункт New Form из контекстного меню. Можно также добавлять существующие формы и модули к проекту, используя кнопку Add контекстного меню менеджера проектов и выбирая модуль или форму, которую нужно добавить. Формы и модули можно удалить в любой момент в течение разработки проекта. Однако, из-за того, что форма связаны всегда с модулем, нельзя удалить одно без удаления другого, за исключением случая, когда модуль не имеет связи с формой. Удалить модуль из проекта можно, используя кнопку Remove менеджера проектов.
Если выбрать кнопку Options в менеджере проектов, откроется диалоговая
панель опций проекта, в которой можно выбрать главную форму приложения,
определить, какие формы будут создаваться динамически, каковы параметры
компиляции модулей (в том числе созданных в Delphi 2.0, так как C++ Builder
может включать их в проекты) и компоновки.
Важным элементом среды разработки C++ Builder является контекстное меню, появ яющееся при нажатии на правую клавишу мыши и предлагающее быстрый доступ к наиболее часто используемым командам.
Разумеется, C++ Builder обладает встроенной системой контекстно-зависимой помощи, доступной для любого элемента интерфейса и являющейся обширным источником справочной информации о C++ Builder.
C++ Builder создает файл проекта с именем по умолчанию Project1.cpp,
а также make-файл с именем по умолчанию Project1.mak. При внесении изменений
в проект, таких, как добавление новой формы, C++ Builder обновляет файл
проекта.
Проект или приложение обычно имеют несколько форм. Добавление формы к проекту создает следующие дополнительные файлы:
Для того чтобы добавить одну или более форм к проекту , выберите пункт
меню File/New Form. Появится пустая форма, которая будет добавлена к проекту.
Можно воспользоваться пунктом меню File/New, выбрать страницу Forms и выбрать
подходящий шаблон из репозитория объектов.
Для того, чтобы просто откомпилировать текущий проект, из меню Compile нужно выбрать пункт меню Compile. Для того, чтобы откомпилировать проект и создать исполняемый файл для текущего проекта, из меню Run нужно выбрать пункт меню Run. Компоновка проекта является инкрементной (перекомпилируются только изменившиеся модули).
Если при выполнении приложения возникает ошибка времени выполнения, C++ Builder делает паузу в выполнении программы и показывает редактор кода с курсором, установленным на операторе, являющемся источником ошибки. Прежде чем делать необходимую коррекцию, следует перезапустить приложение, выбирая пункт меню Run из контекстного меню или из меню Run, закрыть приложение и лишь затем вносить изменения в проект. В этом случае уменьшится вероятность потери ресурсов Windows.
После этого выберем на форме компонент Edit и удалим текущее значение свойства Text. Затем установим свойство Caption для Button1 равным "Добавить".
Чтобы добавить обработчик события OnClick для кнопки Добавить, нужно выбрать эту кнопку на форме, открыть страницу событий в инспекторе объектов и дважды щелкнуть мышью на колонке справа от события OnClick. В соответствующей строке ввода появится имя функции. C++ Builder сгенерирует прототип обработчика событий и покажет его в редакторе кода. После этого следует ввести следующий код в операторные скобки { ... } тела функции:
void __fastcall TForm1::Button1Click(TObject *Sender)Для компиляции приложения в меню Run выберем пункт Run. Теперь можно что-нибудь ввести в редактируемое поле, нажать мышью на кнопку Добавить и убедиться, что вводимые строки добавляются к списку.
{
if (!(Edit1->Text == ""))
{
ListBox1->Items->Add(Edit1->Text);
Edit1->Text = "" ;
}
}
Теперь модифицируем приложение, добавив кнопки Удалить и Выход. Для
этого добавим еще две кнопки, изменим их свойство Caption и создадим обработчики
событий, связанных с нажатием на эти кнопки:
Для кнопки Удалить:
void __fastcall TForm1::Button2Click(TObject *Sender)Для кнопки Выход:
{
if (!(ListBox1->ItemIndex == -1))
ListBox1->Items->Delete(ListBox1->ItemIndex);
}
Close();Сохраним и скомпилируем приложение, а затем протестируем его.
Итак, мы познакомились со средой разработки Borland C++ Builder и создали простое приложение. В следующих статьях этого цикла будут описаны приемы манипуляции компонентами на форме и более подробно рассмотрены особенности поведения различных компонентов в приложении.
Координаты автора: Учебный центр Interface Ltd., тел. (095)135-55-00, 135-25-19,
e-mail: elmanova@interface.ru