23 июля 2020 г.
В данном разделе рассматриваются новые, по сравнению с родительским классом, свойства компонента TAvDBGrid, обеспечивающие оригинальный дополнительный функционал.
Здесь приведено описание public и published разделов класса заголовка TAvTitle и класса компонента TAvDBGrid.
TAvTitle = class(TCollectionItem) public constructor Create(Collection: TCollection); override; destructor Destroy; override; function OwnerGrid : TAvDBGrid; published property TitleOptions: TTitleDrawOpts read FTitleOptions write SetTitleOption default defaultTitleOpt; property Caption : String read GetCaption write SetCaption stored IsUniTitle; property Color : TColor read GetColor write SetColor stored IsUniTitle; property Font : TFont read GetFont write SetFont stored IsUniTitle; property PopUpMenu : TPopupMenu read FPopupMenu write FPopupMenu; end; TTitleclass = class of TAvTitle; TAvTitles = class(TCollection) public constructor Create(Grid: TAvDBGrid; Itemclass: TTitleclass); property Items[Index: Integer]: TAvTitle read GetTitle write SetTitle; default; end; TAvDBGrid = class(TCustomDBGrid) public constructor Create(AOwner: TComponent); override; destructor Destroy; override; procedure DrawTitles; published property AvTitles : TAvTitles read FAvTitles write SeTAvTitles; property ColsStretch : TColsStretch read FColsStretch write SetColsStretch default tcNoStretch; property MinColWidth : Integer read FMinColWidth write SetMinColWidth default DirectMinWidth; property ColorBarFon : TColor read FColorBarFon write FColorBarFon default clNavy; property ColorBarTxt : TColor read FColorBarTxt write FColorBarTxt default clWhite; property ColorTitles : TColor read GetColorTitles write SetColorTitles default clBtnFace; property FonZebra : boolean read FFonZebra write SetFonZebra default true; property Options : TDBGridOptions read GetOptions write SetOptions default [dgEditing, dgTitles, dgColumnResize, dgColLines, dgTabs, dgAlwaysShowSelection, dgCancelOnExit]; property TitlesFont : TFont read GetTitlesFont write SetTitlesFont; property OnTitleClick: TTitleClickEvent read FOnTitleClick write FOnTitleClick; end;
Свойство | Характеристика | Значение по умолчанию |
AvTitles | Массив свойств заголовков (TAvTitle) | |
ColsStretch | Свойство определяет тип алгоритма используемый для подгонки ширины столбцов под размер сетки. Может принимать одно из следующих значений:
|
tcNoStretch |
MinColWidth | Минимально допустимая ширина столбца. Ширина столбца не может принять значение меньше этой величины при использовании средств визуального проектирования. | 18 pixel |
ColorBarFon | Цвет фона активной строки | clNavy |
ColorBarTxt | Цвет шрифта активной строки | clWhite |
ColorTitles | Цвет фона всех заголовков. Изменение данного свойства приводит к соответствующему изменению цвета всех заголовков. В дальнейшем для каждого заголовка можно установить свой индивидуальный цвет фона. | clBtnFace |
FonZebra | Установка фона типа «Зебра» различная яркость фона для четных и нечетных строк сетки. | true |
TitlesFont | Шрифт всех заголовков. Изменение данного свойства приводит к соответствующему изменению шрифта у всех заголовков. В дальнейшем для каждого заголовка можно установить свой индивидуальный шрифт. | Значение по умолчанию родительского класса |
OnTitleClick | Обработчик события при клике левой кнопки мыши на заголовке. В процедуру в качестве параметра передаётся заголовок Title: TAvTitle Данный обработчик перекрывает обработчик родительского класса TCustomDBGrid, в который в качестве параметра передавался столбец Column: TColumn. |
|
Свойство | Назначение | Значение по умолчанию |
TitleOptions | Опции форматирования текста заголовка представлены в виде трёх независимых групп. Группа 1 горизонтальное выравнивание:
|
[dtCenter, dtVcenter, dtCharBreak, dtStrBreak] |
Caption | Текст выводимый в заголовке | |
Color | Цвет заголовка | TAvDBGrid.ColorTitles |
Font | Шрифт заголовка | TAvDBGrid.TitlesFont |
PopUpMenu | Всплывающее меню, появляющееся при клике правой кнопкой мыши на заголовке | |
Свойство компонента Options имеет по умолчанию в своём составе следующий набор опций:
[dgEditing, dgTitles, dgColumnResize, dgColLines, dgTabs, dgAlwaysShowSelection, dgCancelOnExit]
Для обеспечения некоторых характерных свойств компонента TAvDBGrid на состав опций свойства Options родительского класса TCustomDBGrid наложены следующие ограничения. Из всего множества опций, используемых при формировании свойства Options во время проектирования, некоторые опции не могут быть включены в набор, а некоторые не могут быть исключенны из набора:
Опция | Наличие в наборе | Обеспечивает свойство |
dgColLines | Всегда в присутствует | Вертикальные линии присутствуют всегда |
dgRowLines | Всегда отсутствует | Горизонтальные линии всегда отсутствуют |
dgIndicator | Всегда отсутствует | Индикатор всегда отсутствует |
Курсор сетки всегда выделяет всю строку независимо от наличия/отсутствия опции dgRowSelect в свойстве Options.