Шаг 16.
Вкладка Standard. Компонент TPanel

    На этом шаге мы рассмотрим компонент TPanel

    Компонент TPanel (Панель) реализует унифицированный элемент управления. Панель обычно используется для объединения нескольких компонентов, подобно компоненту типа TGroupBox (Групповой блок). Но при этом панель предоставляет дополнительные возможности графического оформления с помощью свойств BevelInner, BevelOuter, BevelWidth, благодаря которым можно создать эффект выпуклой или вдавленной панели. Также на панели присутствует свойство AutoSize, которое позволяет автоматически подгонять размеры панели под входящие в него компоненты.

    Панель обычно является уникальной для каждой формы. Если необходимо использовать одинаковые группы в разных формах, лучше использовать фрейм.

    Панель без ограничивающей рамки удобно использовать для стыковки с другими компонентами при использовании метода drag-and-dock ("перетащи и состыкуй").

    Свойства компонента TPanel перечислены в следующей таблице:

   
Таблица 1. Свойства компонента TPanel
Свойство Описание
property Alignment: TAlignment; Способ отображения содержимого компонента. Значения:
  • taCenter - в центре;
  • taLeftJustify - текст с левой стороны;
  • taRightJustify - текст с правой стороны
property BevelInner: TBevelCut; Задает вид внутренней обрамляющей рамки компонента. Значения:
  • bvNone - отсутствует;
  • bvLowered - опущена;
  • bvRaised - выдвинута
property BevelOuter: TBevelCut; Задает вид наружной обрамляющей рамки компонента. Значения:
  • bvNone - отсутствует;
  • bvLowered - опущена;
  • bvRaised - выдвинута
property BevelWidth: TBevelWidth; Количество пикселов между внутренней и наружной рамками компонента
property BorderStyle: TBorderStyle; Задает тип границы для компонента. Значения:
  • bsNone - граница отсутствует;
  • bsSingle - граница - одинарная линия
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




Предыдущий шаг Содержание Следующий шаг