Published
property ButtonColor:TColor read FButtonColor write SetButtonColor;
property OverColor:TColor read FOverColor write SetOverColor;
property BorderColor:TColor read FBorderColor write SetBorderColor;
property ButtonText: string read FButtonText write SetButtonText;
property OnClick;
property OnMouseDown;
property OnMouseMove;
property OnMouseUp;
end;
…
Переопределим метод рисования компонента Paint:
…
Protected
Procedure Paint; override;
…
Реализуем метод Paint:
…
Implementation
…
Procedure TGraphicButton.Paint;
var zx,zy:integer;
Begin
// рисуем кнопку текущего цвета (Color – унаследованное свойство)
canvas.Brush.Color:=Self.Color;
canvas.FillRect(rect(0,0,width,height));
// рисуем рамку цвета BorderColor
canvas.Brush.Color:=BorderColor;
canvas.FrameRect(rect(0,0,width,height));
// устанавливаем стиль шрифта – жирный
canvas.Font.Style:=[fsBold];
// вычисляем положение текста
zx:=(width - canvas.TextWidth(ButtonText)) div 2;
zy:=(height - canvas.TextHeight(ButtonText)) div 2;
// устанавливаем цвет фона текста
canvas.Brush.Color:=Self.Color;
// отображаем текст в вычисленную позицию (ZX, ZY)
canvas.TextOut(zx,zy,ButtonText);
end;
…
Для установки первоначальных значений хранилищ свойств, переопределим и реализуем конструктор компонента:
…
Public
Constructor Create(AOwner:TComponent); override;
…
Дата добавления: 2015-09-18 | Просмотры: 501 | Нарушение авторских прав
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 |
|