Главная | Обратная связь
МегаЛекции

Компоненты VCL. Свойства, события, методы





 

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

Свойства.

 

 

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

В инспекторе объектов для каждой компоненты имеются две закладки Properties(свойства) и Events(события).

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

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

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

Также некоторые свойства зависят от установки других свойств, например Hint (подсказка), появляется, если свойство ShowHint имеет значение True.

События.

Компоненты C++Builder связаны с набором событий или ассоциированных с ними обработчиков событий.

 


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

Методы.

Методы представляют еще один путь управления компонентами. Каждая компонента – объект, в состав которого входят процедуры и функции. Метод – это описанная в объекте общая процедура или функция, которую можно вызвать из программы.

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

Например, для компонента Button метод Hide() делает кнопку невидимой:

Button1->Hide();



В отличие от свойств методы не видны в окне инспектора объектов.

 

Типы компонент

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

Стандартные компоненты VCL инкапсулируют поведение типовых элементов управления операционной системы Windows, как TButton, TListbox и TEdit. В основном они расположены на вкладках Standard и Win95 Палитры компонент.

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

Графические компоненты представляют собой видимые элементы управления, которые не могут принять фокус ввода, т.к. не являются оконными (TImage, Tshape и др.).

Невидимые компоненты не появляются на форме в виде каких-либо элементов управления. Поведение невидимых компонент определяется на этапе проектирования, путем инкапсуляции нужных свойств объекта (TOpenDialog, Ttimer и др.).

 

Иерархия классов 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, которые можно удалить.

 





Рекомендуемые страницы:

Воспользуйтесь поиском по сайту:
©2015- 2020 megalektsii.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.