Интегрированная среда разработки объединяет Редактор форм, Инспектор объектов, Палитру компонент, Администратор проекта, интегрированные Редактор кода и Отладчик - инструменты быстрой разработки программных приложений, обеспечивающие полный контроль над кодом и ресурсами.
Профессиональные средства языка С++ интегрированы в визуальную среду разработки. C++ Builder предоставляет быстродействующий компилятор с языка Borland С++, инкрементальный загрузчик и средства отладки.
Конструирование по способу «drag-and-drop» позволяет создавать приложение простым перетаскиванием захваченных мышью визуальных компонент из палитры на форму приложения. Инспектор объектов предоставляет возможность оперировать со свойствами и событиями компонент, автоматически создавая заготовки функций обработки событий, которые наполняются кодом и редактируются в процессе разработки.
Механизмы двунаправленной разработки (two-way-tools) обеспечивает контроль за кодом посредством гибкого, интегрированного и синхронизированного взаимодействия между инструментами визуального программирования и Редактором кода.
Свойства, методы и события - это элементы языка, обеспечивающие быструю разработку приложений в рамках объектно-ориентированного программирования. Свойства позволяют устанавливать разнообразные характеристики объектов. Методы производят операции над объектом. События связывают воздействия пользователя на объекты с кодами реакции на эти воздействия.
Между программными продуктами С++ Builder и BorlandC++ существует полная и взаимная функциональная совместимость.
Все компоненты, формы и модули данных, языка Delphi, могут быть повторно использованы в приложениях C++Builder без каких бы то ни было изменений.
C++ и Delphi равноправны - почти все, что написано в Delphi, можно использовать в C++Builder, и наоборот.
C++Builder не делает различия между тем, какие программные модули вы добавляете к проекту своего приложения - написаны они на C++ (файлы с расширением CPP) или на Delphi (файлы с расширением PAS). Компилятор свободно принимает следующие кодовые конструкции моделей Delphi 3.0: компоненты, формы, объекты, константы, простые методы и функции - все перечисленные коды можно прямо подставлять в свои проектные файлы. Технология визуального наследования форм дает возможность модифицировать формы Delphi в среде C++Builder без каких бы то ни было проблем.
4.2 Компоненты VCL. Свойства, события, методы
Компоненты VCL- это строительные кирпичи, из которых разрабатывается интерфейс программы с пользователем. VCL это объект, который можно «перетащить» из вкладок Палитры компонент на форму приложения. Поместив компоненту на форму, можно манипулировать ее свойствами (Редактором форм) и кодом (Редактором кода).
Свойства.
Каждая из компонент обладает свойствами, которые позволяют изменять атрибуты, определяющие размер, форму, видимость компоненты. Для доступа к этим свойствам используется инспектор объектов или эти свойства меняются программным кодом.
В инспекторе объектов для каждой компоненты имеются две закладки Properties(свойства) и Events(события).
Многие свойства являются общими для различных компонент, но некоторые свойства имеются только у отдельных компонент.
Некоторые свойства компонент устанавливаются числовыми значениями, например Height(высота), некоторые снабжены окном, позволяющим выбрать вариант, например Cursor(курсор).
У некоторых компонент есть свойства, снабженные всплывающими меню и редакторами, предназначенными для внесения изменений.
Также некоторые свойства зависят от установки других свойств, например Hint (подсказка), появляется, если свойство ShowHint имеет значение True.
События.
Компоненты C++Builder связаны с набором событий или ассоциированных с ними обработчиков событий.
Для создания обработчика событий нужно дважды щелкнуть мышью правее события и ввести требуемый код.
Методы.
Методы представляют еще один путь управления компонентами. Каждая компонента – объект, в состав которого входят процедуры и функции. Метод – это описанная в объекте общая процедура или функция, которую можно вызвать из программы.
Чтоб просмотреть методы, доступные для компонента, необходимо щелкнуть на этой компоненте и нажать клавишу F1, далее щелкнуть на Methods и получить список доступных методов.
Например, для компонента Buttonметод Hide() делает кнопку невидимой:
Button1->Hide();
4.2.1 Типы компонент
Каждая из компонент представляет собой законченную конструкцию, содержащую свойства, методы и события.
Стандартные компоненты VCL инкапсулируют поведение типовых элементов управления операционной системы Windows, как TButton, TListbox и TEdit. В основном они расположены на вкладках Standard и Win95 Палитры компонент.
В отличие от стандартных компонент, оригинальные компоненты представляют собой элементы управления, у которых нет ни метода для собственного отображения, ни заранее определенного поведения (Tpanel, TstringGrid и др.).
Графические компоненты представляют собой видимые элементы управления, которые не могут принять фокус ввода, т.к. не являются оконными (TImage, Tshape и др.).
Невидимые компоненты не появляются на форме в виде каких-либо элементов управления. Поведение невидимых компонент определяется на этапе проектирования, путем инкапсуляции нужных свойств объекта (TOpenDialog, Ttimer и др.).
4.2.2 Иерархия классов VCL
Расположенная ниже схема показывает ключевые классы в иерархической структуре, от которых произведены все компоненты VCL.
TObject-> … -> TComponent -> TGraphicControl -> …
|
| -> TWinControl -> …
TObject является базовым классом для всех порождаемых классов, а TComponent является базовым классом для всех порождаемых компонент.
Невидимые компоненты произведены от класса TComponent. Основные графические компоненты - от класса TGraphlcControl.
Компоненты стандартного управления произведены непосредственно от класса TWinControl, а оригинальные компоненты - косвенно от класса TCustornControl, восходящего к TWinControl. Ниже приведена схема, продолжающая иерархическую структурную схему компонентных классов VCL.
TGraphicControl TWinControl
*Tbevel *TButtonControl
*TCustomLabel o Tbutton
· TDBText +TBitBtn
· Tlabel o TCustomCheckBox
*Timage +TCheckBox
*TPaintBox +TDBCheckBox
*TShape o TRadioButton
*TSpeedButton *TCustomComboBox
· TComboButton o TComboBox
· TNavButton o TDBComboBox
· TDriveComboBox
· TFilterComboBox
*TCustomControl
· TCustomGrid
+ TCunstomDBGrid
+ TDBGrid
+ TDBLookupList
+ TpopupGrid
+ TCustomOutline
+TOutline
+ TDrawGrid
+ TStringGrid
· TCunstomGroupBox
+ TCunstomRadioGroup
+TDBRadioGroup
+TRadioGroup
+TGroupBox
· TCunstomPanel
+TDBNavigator
+TPanel
· TDBImage
· TDBLookupControl
+TDBLookupComboBox
+ TDBLookupListBox
+ TPopupDataList
· THeader
· THintWindow
· TMediaPlayer
· TNotebook
· TOleContainer
· TPage
· Tscroller
· TTabSet
* TCustomEdit
· TCustomMaskEdit
+ TDBEdit
+ TInplaceEdit
+ TMaskEdit
· TCustomMemo
+ TCustomRichEdit
+ TRichEdit
+ TDBMemo
+ TMemo
· TDBLookupCombo
· TEdit
* TCustomHotKey
· THotKey
* TCustomListBox
· TDBListBox
· TDirectoryListBox
· TFileListBox
· TListBox
* TCustomListView
o TListView
*TCustomTabControl
· TPageControl
· TTabbedNotebook
· TTabControl
*TCustomTreeView
· TTreeView
* TCustomUpDown
· TUpDown
* TDBCtrlGrid
* TDBCtrlPanel
* THeaderControl
* TOleControl
* TProgressBar
* TScrollBar
* TScrollingWinControl
· TForm
+ TDesignWindow
+ TInputRedDialog
+ TLoginDialog
+ TPasswordDialog
· TScrollBox
* TStatusBar
* TTabPage
* TTabSheet
* TTrackBar
4.3 Структуры файлов в C++ Builder
Для каждого приложения C++ Builder создается один файл проекта, один make-файл один файл модуля и один файл ресурсов.
Первоначально файлу проекта присваивается по умолчанию имя Project1.cppЕсли в процессе разработки приложения добавляются формы и модули C++ Builder обновляет файл проекта.
Make-файл(по умолчанию Project1.mak) - это текстовый файл, содержащий макросы, директивы и инструкции по компиляции и сборке проекта.
Модули являются основой создания библиотек и приложений в C++ Builder. Модуль содержит исходный текст на языке C++ и первоначально представляет собой файл с расширением Unit1.cpp.
Файл с расширением h генерируется при создании нового модуля. В нем содержится информация о данных и функциях, которые можно использовать в модуле, т.е.- в h-файле содержится интерфейс, а в самом модуле - реализация.
Форма является одним из важнейших элементов приложения C++ Builder. Процесс редактирования формы происходит при добавлении к форме компонентов, изменении их свойств, создании обработчиков событий (по умолчанию файл формы или файл ресурсов имеет имя Unit1.dfm).
Когда к проекту добавляется новая форма, создаются 3 отдельных файла:
• файл модуля (.срр) - содержит исходный код, связанный с формой;
• h-файл(.h) - содержит описание класса формы, т. е. описание содержащихся на форме компонентов и обработчиков событий;
• файл формы (.dfm) - двоичный файл, содержащий сведения о доступных в инспекторе объектов свойствах компонентов, содержащихся в форме.
В процессе трансляции создаются дополнительные файлы с расширениями ilc, ild, ilf, ils, obj, которые можно удалить.
4.4 Визуальные компоненты (VCL)
VCL в C++Builder находятся на нескольких страницах.
Страница Standard состоит из следующих визуальных компонент.
1.Компонент MainMenu позволяет создавать линейку меню проектируемой формы и выпадающее меню (компонент невизуальный).
2.Компонент PopupMenu позволяет создавать всплывающее меню при нажатии правой кнопки мыши (компонент невизуальный).
3.Компонент Label используется для создания надписей.
4.Компонент Edit используется для ввода или отображения однострочных текстов.
5.Компонент Memo используется для ввода или отображения многострочных текстов.