На этом шаге мы рассмотрим компонент TPanel
Компонент TPanel (Панель) реализует унифицированный элемент управления. Панель обычно используется для объединения нескольких компонентов, подобно компоненту типа TGroupBox (Групповой блок). Но при этом панель предоставляет дополнительные возможности графического оформления с помощью свойств BevelInner, BevelOuter, BevelWidth, благодаря которым можно создать эффект выпуклой или вдавленной панели. Также на панели присутствует свойство AutoSize, которое позволяет автоматически подгонять размеры панели под входящие в него компоненты.
Панель обычно является уникальной для каждой формы. Если необходимо использовать одинаковые группы в разных формах, лучше использовать фрейм.
Панель без ограничивающей рамки удобно использовать для стыковки с другими компонентами при использовании метода drag-and-dock ("перетащи и состыкуй").
Свойства компонента TPanel перечислены в следующей таблице:
Свойство | Описание |
---|---|
property Alignment: TAlignment; | Способ отображения содержимого компонента. Значения:
|
property BevelInner: TBevelCut; | Задает вид внутренней обрамляющей рамки компонента. Значения:
|
property BevelOuter: TBevelCut; | Задает вид наружной обрамляющей рамки компонента. Значения:
|
property BevelWidth: TBevelWidth; | Количество пикселов между внутренней и наружной рамками компонента |
property BorderStyle: TBorderStyle; | Задает тип границы для компонента. Значения:
|
property BorderWidth: TBorderWidth; | Определяет границу компонента |
property Locked: Boolean; | Используется при работе с объектами OLE |
property FullRepaint: Boolean; | Разрешает/запрещает перерисовку панели и всех ее дочерних элементов при изменении ее размеров |
Для компонента объявлено событие OnResize, в обработчике которого программист может предусмотреть необходимую реакцию на изменение размеров компонента.
Приведем пример программы с компонентом TPanel.
Разместим на форме компоненты Panel1, Label1. Очистим свойство Caption у компонента Label1. На Panel1 поместим компонент ComboBox1. Label1 дадим название "Скрыть - Показать" и свойству Visible присвоим значение True. Для компонента Label1 создадим следующий обработчик:
procedure TForm1.Label1Click (Sender: TObject); begin if Panel1.Visible=True then Panel1.Visible:=False else Panel1.Visible:= True; end;
Получим следующее:
Рис.1.Скрывающийся компонент TPanel
Приведем текст программы:
unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) Panel1: TPanel; ComboBox1: TComboBox; Label1: TLabel; procedure Label1Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Label1Click(Sender: TObject); begin if Panel1.Visible=True then Panel1.Visible:=False else Panel1.Visible:= True; end; end.
На следующем шаге мы рассмотрим компонент TActionList