На этом шаге мы рассмотрим компонент TShape.
Компонент TShape позволяет рисовать геометрические фигуры в форме , что можно использовать для оригинального оформления интерфейса пользователя.
Свойства компонента TShape.
Свойство | Описание |
---|---|
Property Brush: TBrush; | Данное свойство позволяет закрашивать выбранную фигуру:
|
Property Color: TColor; | Данное свойство задаёт цвет фона. |
Property Cursor: TCursor; | Данное свойство задаёт вид курсора над фигурой. |
Property DragCursor: TCursor; | Данное свойство позволяет выбрать вид курсора из списка. |
Property Enabled: Boolean; | Данное свойство позволяет определить будет ли фигура активна (True- False). |
Property Height: Integer; | Данное свойство задаёт высоту фигуры. |
Property Hint: string; | Данное свойство позволяет задать текст ярлычка помощи. |
Property Left: Integer; | Данное свойство задаёт расстояние от верхнего края формы до фигуры. |
Type TComponent Name = string[63]; Property Name: TComponent Name; |
Данное свойство содержит в себе уникальное имя объекта. |
Property Pen: TPen; | Данное свойство позволяет задавать контуры выбранной фигуры:
|
Type TShapeType = (stRectangle, stSquare, stRoundRect, stRoundSquare, stEllipse,
stCircle); Property Shape: TShapeType; |
Данное свойство содержит в себе готовые геометрические фигуры:
|
Property ShowHint: Boolean; | Данное свойство позволяет определить будет или нет показан ярлычок помощи (True-False). |
Property Top: Integer; | Данное свойство задаёт расстояние от левого края формы до фигуры. |
Property Visible: Boolean; | Данное свойство позволяет определить будет ли видна фигура на экране. |
Property Width: Integer; | Данное свойство задаёт ширину фигуры. |
Компонент TShape может принимать вид геометрических фигур показанных на рис.1.
Рис.1.Разновидности компонента TShape
Заметим, что даже во время выполнения программы можно изменять свойства объекта TShape.
Выполним задание: создадим приложение в котором можно изменять свойства объекта TShape.
Разместим на форме компоненты: TShape, TColorGrid (вкладка Samples), TGroupBox и TRadioButton (рис.2.).
Рис.2.Windows-окно приложения при проектировании
Для компонента ColorGrid1 (изменение цвета объекта) необходимо написать обработчик события OnChange, который имеет следующий вид:
procedure TForm1.ColorGrid1Change(Sender: TObject); begin Shape1.Brush.Color:=ColorGrid1.ForeGroundColor; end;
Рис.3.Windows-окно приложения при запуске
Текст приложения отображается ниже.
unit Unit1; interface Uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ColorGrd; type TForm1 = class(TForm) ColorGrid1: TColorGrid; GroupBox1: TGroupBox; Shape1: TShape; RadioButton1: TRadioButton; RadioButton2: TRadioButton; RadioButton3: TRadioButton; RadioButton4: TRadioButton; RadioButton5: TRadioButton; RadioButton6: TRadioButton; procedure ColorGrid1Change(Sender: TObject); procedure RadioButton1Click(Sender: TObject); procedure RadioButton2Click(Sender: TObject); procedure RadioButton3Click(Sender: TObject); procedure RadioButton4Click(Sender: TObject); procedure RadioButton5Click(Sender: TObject); procedure RadioButton6Click(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.ColorGrid1Change(Sender: TObject); begin Shape1.Brush.Color:=ColorGrid1.ForeGroundColor; end; procedure TForm1.RadioButton1Click(Sender: TObject); begin Shape1.Shape:=stCircle; end; procedure TForm1.RadioButton2Click(Sender: TObject); begin Shape1.Shape:=stRoundRect; end; procedure TForm1.RadioButton3Click(Sender: TObject); begin Shape1.Shape:=stEllipse; end; procedure TForm1.RadioButton4Click(Sender: TObject); begin Shape1.Shape:=stSquare; end; procedure TForm1.RadioButton5Click(Sender: TObject); begin Shape1.Shape:=stRoundSquare; end; procedure TForm1.RadioButton6Click(Sender: TObject); begin Shape1.Shape:=stRectangle; end; end.
Компонент TShape можно использовать для выделения группы кнопок отдельным цветом, например так, как показано на рис.4.
Рис.4.Выделение группы кнопок отдельным цветом
На следующем шаге мы рассмотрим компонент TBevel.