Листинг 10.1. Стили заполнения областей

unit brustyle_; interface

Uses

Windows, Messages, SysUtils, Classes,

Graphics, Controls, Forms, Dialogs, ExtCtrls;

Type

TForm1 = class (TForm)

procedure FormPaint(Sender: TObject);

Private

{ Private declarations}

Public

{ Public declarations)

end;

Var

Form1: TForm1;

Implementation

{$R *.DFM}

// перерисовка формы

procedure TForm1.FormPaint(Sender: TObject);

Const

bsName: array [1..8] of string =

('bsSolid','bsClear','bsHorizontal',

'bsVertical','bsFDiagonal','bsBDiagonal',

'bsCross','bsDiagCross');

Var

x,y: integer; // координаты левого верхнего угла прямоугольника

w,h: integer; // ширина и высота прямоугольника

bs: TBrushStyle;// стиль заполнения области

k: integer; // номер стиля заполнения

i,j: integer;

Begin

w:=40; h:=40; // размер области(прямоугольника)

у:=20;

for i:=l to 2 do

Begin

х:=10;

for j:=1 to 4 do

Begin

k:=j+(i-1)*4; // номер стиля заполнения

Case k of

1: bs = bsSolid;

2: bs = bsClear;

3: bs = bsHorizontal;

4: bs = bsVertical;

5: bs = bsFDiagonal;

6: bs = bsBDiagonal;

7: bs = bsCross;

8: bs = bsDiagCross; end;

// вывод прямоугольника

Canvas.Brush.Color:= clGreen;

// цвет закрашивания — зеленый

Canvas.Brush.Style:= bs;

// стиль закрашивания

Canvas. Rectangle (x, y, x+w, y-t-h);

// вывод названия стиля

Canvas.Brush.Style:= bsClear;

Canvas.TextOut(x, y-15, bsName[k]);

// вывод названия стиля

x:= x+w+30;

end;

у:= y+h+30;

end;

end;

End.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: