# Avemey

Файлы | Галоўная | Спасылкі | Фатаграфіі | Анімэ

Кампанент ZColorStringGrid.
(успадкаваны ад TStringGrid)
З-за ляноты (надакучыла кожны раз у OnDrawCell пісаць код для выраўноўвання тэксту...) было вырашана дапрацаваць StringGrid для патрэбных паводзін.
Пратэставана на Delphi 5-7, Borland Developer Studio 2005, BDS 2006, CodeGear Delphi 2007, CodeGear RAD Studio 2009 і 2010.
Таксама зарабіла на C++ Builder 4-6 (і пазнейшых). Для Builder-а трэба замяніць hpp.
Асноўныя магчымасці:

- Выраўноўванне тэксту ў вочку па гарызанталі і вертыкалі
- У кожнага вочка свой "стыль" (колер фону, шрыфт (стыль, колер), рамка)
- Магчымасць аб'яднання вочак
- Шматрадковыя вочкі (не толькі ў фіксаваных вочках)
- Павелічэнне памеру вочка, калі тэкст не змяшчаецца

Скрыншоты

## TZColorStringGrid

Новыя ўласцівасці:

Property | Кароткае апісанне
CellStyle[ACol, ARow: integer]: TCellStyle | усталёўвае стыль вочка
CellStyleCol[ACol: integer; fixedRow: boolean]: TCellStyle | усталёўвае стыль для слупка ACol - нумар слупка fixedRow - ці ўсталёўваць фіксаваныя вочкі (True - так) Write Only!
CellStyleRow[ARow: integer; fixedCol: boolean]: TCellStyle | усталёўвае стыль для радка ARow - нумар радка fixedCol - ці ўсталёўваць фіксаваныя вочкі (True - так) Write Only!
MergeCells: TMergeCells | аб'яднаныя вочкі
ZInplaceEditor: TZInplaceEditor | унутраны рэдактар вочка
DefaultCellStyle: TCellStyle | стыль вочка па-змаўчанню
DefaultFixedCellStyle: TCellStyle | стыль фіксаванага вочка па-змаўчанню
LineDesign: TLineDesign | колер ліній
SelectedColors: TSelectColor | вылучаныя вочкі
SizingHeight: boolean | павялічваць вышыню вочка, калі тэкст не змяшчаецца
SizingWidth: boolean | павялічваць даўжыню вочка, калі тэкст не змяшчаецца
UseCellSizingHeight: boolean | калі true - ігнаруе SizingHeight, выкарыстоўвае стыль вочка
UseCellSizingWidth: boolean | калі true - ігнаруе SizingWidth, выкарыстоўвае стыль вочка
UseCellWordWrap: boolean | калі true - ігнаруе WordWrap, выкарыстоўвае стыль вочка
WordWrap: boolean | калі тэкст не змяшчаецца ў радку - перанос на наступны радок

Новы метад:

Метад | Кароткае апісанне
procedure RowSelectYY(key: word); | Вылучэнне радка калі (goRowSelect in Options) пры аб'яднаных вочках. Key - код націснутай клавішы (VK_UP ці VK_DOWN).

Новыя падзеі:

Event | Кароткае апісанне
OnBeforeTextDrawCell: TDrawCellEvent | Падзея ўзнікае да прамалёўкі тэксту ў вочку. (Калі ўсталяваць SetBkMode(CellHandle, TRANSPARENT), то тэкст не сцірае фонавы малюнак...)
OnBeforeTextDrawMergeCell: TDrawMergeCellEvent | Падзея ўзнікае да прамалёўкі тэксту ў аб'яднанай вочку
OnDrawMergeCell: TDrawMergeCellEvent | OnDrawCell, толькі для аб'яднаных вочак. Падзея ўзнікае пасля прамалёўкі тэксту.

## TCellStyle

Уласцівасці TCellStyle | Кароткае апісанне
BGColor: TColor | Колер фону вочка
BorderCellStyle: TBorderCellStyle | Стыль рамкі вочка
Font: Tfont | Шрыфт
HorizontalAlignment: TAlignment | Выраўноўванне тэксту па гарызанталі
SizingHeight: boolean | True - павялічваць даўжыню вочка, калі тэкст не змяшчаецца.
SizingWidth: boolean | True - павялічваць вышыню вочка, калі тэкст не змяшчаецца.
VerticalAlignment: TVerticalAlignment | Выраўноўванне тэксту па вертыкалі
WordWrap: boolean | Перанос слоў

## TMergeCells

Стыль і тэкст у аб'яднанай вобласці (вочку) бярэцца з левай верхняй вочкі ўваходнай у дадзеную вобласць.
Уласцівасці:

Уласцівасці TMergeCells | Кароткае апісанне
Count: integer | Колькасць аб'яднаных вочак Read Only!
Items[Num: Integer]: TRect | Вяртае каардынаты аб'яднанай вобласці Num. (Left, Top) - левае верхняе вочка, (Right, Bottom) - правае ніжняе вочка. Num - нумар аб'яднанага вочка. Read Only!

Метады:

Метады TMergeCells | Кароткае апісанне
function AddRect(Rct: TRect): byte; | Дадае аб'яднаную вобласць/вочка, складзеную прастакутнікам Rct. Вяртае: 0 - усё добра, вобласць дадалася 1 - паказаная вобласць выходзіць за межы грыда 2 - паказаная вобласць перасякаецца(уваходзіць) ва ўведзеныя раней вобласці
3 - вобласць з аднаго вочка не дадае
4 - спроба аб'яднаць фіксаваныя і не фіксаваныя вочкі
function AddRectXY(x1, y1, x2, y2: integer): byte; | Дадае аб'яднаную вобласць/вочка, складзеную прастакутнікам (x1, y1, x2, y2). (x1, y1) - левае верхняе вочка, (x2, y2) - правае ніжняе вочка. Вяртае таксама, што і AddRect(Rct: TRect).
procedure Clear(); | Выдаляе ўсе аб'яднаныя вобласці/вочкі
function DeleteItem(num: integer): boolean; | Выдаляе вобласць num. Вяртае True калі вобласць паспяхова выдалена.
function GetHeightArea(num: integer): integer; | Вяртае вышыню аб'яднанай вобласці num з улікам ліній паміж вочкамі.
function GetWidthArea(num: integer): integer; | Вяртае даўжыню аб'яднанай вобласці num з улікам ліній паміж вочкамі.
function GetSelectedArea(SetSelected: boolean): TGridRect; | Вяртае прастакутнік з вылучанымі вочкамі, улічвае аб'яднаныя вобласці. Выкарыстоўваецца для выбару некалькіх вочак (shift + курсорныя клавішы). SetSelected, калі True - Selection бярэ атрыманы прастакутнік
function InLeftTopCorner(ACol, ARow: integer): integer; | Вяртае нумар аб'яднанага вочка/вобласці, у якой вочка [ACol, ARow] з'яўляецца левай верхняй. Калі вяртае адмоўнае значэнне - няма такой вобласці.
function InMergeRange(ACol, ARow: integer): integer; | Вяртае нумар аб'яднанага вочка/вобласці, у якую ўваходзіць вочка [ACol, ARow]. Калі вяртае адмоўнае значэнне - вочка [ACol, ARow] не ўтрымоўваецца ў Merge вобласці.

## TLineDesign

Уласцівасці:

Уласцівасці TLineDesign | Кароткае апісанне
LineColor: TColor | Колер ліній паміж вочкамі
LineDownColor: TColor | Колер лініі для "аб'ёмнага" выгляду вочка - цёмная лінія. Выкарыстоўваецца калі стыль рамкі sgLowered ці sgRaised
LineUpColor: TColor | Колер лініі для "аб'ёмнага" выгляду вочка - светлая лінія. Выкарыстоўваецца калі стыль рамкі sgLowered ці sgRaised

## TSelectColor

Уласцівасці:

Уласцівасці TSelectColor | Кароткае апісанне
BGColor: TColor | Колер фону актыўнай/вылучанага вочка
ColoredSelect: boolean | True - выкарыстоўваць каляровае падсвятленне вылучанай/актыўнага вочка False = not True
FontColor: TColor | Колер шрыфта ў вылучаным вочку
UseFocusRect: boolean | True - вочка з фокусам вылучае прастакутнікам

## TDrawMergeCellEvent

type
TDrawMergeCellEvent = procedure (Sender: TObject; ACol, ARow: Longint; Rect: TRect; State: TGridDrawState; var CellCanvas: TCanvas) of object;
CellCanvas - палатно вочка.

## TBorderCellStyle

type
TBorderCellStyle = (sgLowered, sgRaised, sgNone);
sgLowered - "эдзітар"
sgRaised - "кнопка"
sgNone - без рамкі

## TVerticalAlignment

type
TVerticalAlignment = (vaTop, vaCenter, vaBottom);
vaTop - тэкст угары вочкі
vaCenter - тэкст у цэнтры
vaBottom - тэкст унізе вочкі

Файлы | Галоўная | Спасылкі | Фатаграфіі | Анімэ

Copyright © 2006-2010 Небарак Руслан Уладзіміравіч