Компоненты Delphi. Визуальные и невизуальные компоненты. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Компоненты Delphi. Визуальные и невизуальные компоненты.



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

Существует два взгляда на компоненты.

• Взгляд снаружи, точнее — из визуальной среды разработки. С этой точки зрения компоненты — это самодостаточные строительные блоки, которые вы берете из Палитры Компонентов и переносите на форму для создания собственно приложения. Примеры компонентов вам известны: это кнопки, метки, строки редакторов и т. д.

• Существует еще и взгляд изнутри, т. е. взгляд из программы на языке Object Pascal. С этой точки зрения компоненты — это классы, порожденные прямо или косвенно от класса TComponent и имеющие опубликованные (published) свойства. Экземпляры компонентов — это объекты этих классов, существующие в качестве полей формы. Среди опубликованных свойств компонентов обязательно присутствует имя (Name), под которым экземпляр компонента представляется в Инспекторе Объектов.

Объединение этих двух точек зрения дает цельное представление о том, что такое компоненты. При работе с компонентами из визуальной среды вы всегда видите их лицевую сторону. Однако как только вы начинаете писать обработчики событий и управлять компонентами программно, вы соприкасаетесь с программной стороной компонентов, суть которой — объекты. Таким образом, Delphi обеспечивает симбиоз визуального и объектно-ориентированного программирования.

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

При всем этом компоненты, происходящие от класса TComponent, не обязательно являются визуальными. Если же говорить именно о визуальных компонентах, то нам следует продвинуться еще дальше, к классу TControl, являющимся общим предком для всех элементов графического интерфейса в созданных при помощи Delphi приложениях Windows. Но реальные компоненты, как правило, происходят не от самого класса TControl, а от 2 его разновидностей, представленных, в случае для Windows, классами TWinControl и TGraphicControl. Отметим, что полноценными оконными элементами управления (с поддержкой ввода с клавиатуры, визуальной реакцией на действия пользователя и т.д.) являются только наследники класса TWinControl. Что касается компонент, происходящих от TGraphicControl, то они являются облегченным вариантом элементов интерфейса, не требующими поддержки всех функциональных возможностей управления со стороны операционной системы. Такими элементами являются, например, статические картинки, используемые в оформлении программ (вроде логотипа в окне About) и т.п.

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

 

Стандартные компоненты

Стандартные компоненты инкапсулируют наиболее распространенные средства управления Windows. К их числу относятся классы: TButton, ТЕdit, TListBox, TMemo, TMainMenu, TScrollBar, TPopupMenu, TCheckBox, TRadio-Button, TRadioGroup, TGroupBox, TPanel и TActionList.

Большинство из перечисленных классов инкапсулирует какое-нибудь средство управления Windows, поэтому я не стану обсуждать каждый из них прямо сейчас. Класс TMainMenu инкапсулирует главное меню приложения. Двойной щелчок на компоненте MainMenu во время проектирования приводит к активации конструктора меню. С помощью свойств MainMenu можно управлять такими аспектами поведения элементов меню, как, например, их блокировка. Кроме того, вы можете проверять, являются ли они "отмеченными", задавать для них идентификаторы контекстной справки, текст подсказки и т. д. С каждым элементом меню ассоциировано событие OnClick, что позволяет связать с каждым выбранным пунктом свой обработчик события.

Компонент Panel

Еще одним интересным стандартным компонентом является Panel (панель).

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

Компонент Panel является контейнером, который может содержать другие компоненты. Свойства панели управляют типом ее обрамления, внешним видом (панель может быть приподнятой, утопленной или плоской), а также шириной рамки. Различные сочетания перечисленных свойств позволяют создавать множество разновидностей трехмерных панелей.

Компонент ActionList

Этот компонент появился только в Delphi 4. С его помощью может быть легко реализован механизм разрешения/блокировки команд, относящихся к компоненту или группе компонентов. Например, приложение, использующее буфер обмена, может иметь набор команд Cut (вырезать), Copy (копировать) и Paste (вставить) как в главном и контекстном меню, так и на инструментальной панели. При наличии данных в буфере обмена для команды Paste следует разрешить использование соответствующих пунктов меню и командной кнопки. При их отсутствии эти пункты меню и командная кнопка должны быть заблокированы. С помощью компонента TActionList может быть достигнута согласованная блокировка/включение всех участвующих в этом процессе элементов управления (кнопки на панели инструментов и пунктов меню).



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 518; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.217.6.114 (0.006 с.)