by
ru
en
by

Avemey

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

Кампанент ZColorStringGrid.
(успадкаваны ад TStringGrid)

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

ZColorStringGrid sample скрыншот ZColorStringGrid sample screenshot ZColorStringGrid sample screenshot
Скрыншоты

zip zcolorstringgrid_bin_0_4.zip (1495Kb) - Зыходны код + прыклады ў exe.
zip zcolorstringgrid_src_0_4.zip (462Kb) - Зыходны код.

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 Выраўноўванне тэксту па вертыкалі
Rotate: integer Паварот тэксту ў вочку. Па змаўчанні 0.
IndentH: byte Водступ па гарызанталі з таго боку, па якому усталявана выраўноўванне. Па змаўчанні 2.
IndentV: byte Водступ па вертыкалі з таго боку, па якому усталявана выраўноўванне. Па змаўчанні 0.
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-2012 Небарак Руслан Уладзіміравіч