Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Настройка глобальных свойств TDBGridEh



Библиотека имеет набор глобальных свойств и событий, которые влияют на все созданные в проекте сетки. Вы один раз настраиваете это свойство или событие, например, в главной форме вашего проекта, и все сетки проекта будут менять свое поведения согласно этим настройкам. Для управления глобальным поведением сеток используются глобальные объекты типа TDBGridEhCenter и TDBGridEhStyle. Первый объект используется для управления поведением грида, второй для управления отображением.

Общая информация о классе TDBGridEhCenter:

Для доступа к элементам объекта TDBGridEhCenter используйте глобальную функцию:

function DBGridEhCenter: TDBGridEhCenter;

Она возвращает текущий объект типа TDBGridEhCenter, который управляет поведением всех сеток. Вы можете написать наследника от TDBGridEhCenter в, котором можно переписать виртуальные методы управляющие поведением сеток, и зарегистрировать ваш объект управления с помощью функции:

function SetDBGridEhCenter(NewGridCenter: TDBGridEhCenter): TDBGridEhCenter;

Она устанавливает новый объект управления и возвращает ссылку на старый. Старый объект чаще всего необходимо просто удалить.

Свойства и события класса TDBGridEhCenter: Свойства: property FilterEditCloseUpApplyFilter: Boolean;Определяет, будет ли применяться SubTitleFilter сразу после выбора значений из DropDown списка или для применения фильтра надо всегда нажимать Enter. property IndicatorTitleMenus: TDBGridEhStyleIndicatorTitleMenusEh;Задает список элементов, которые будут появляться в выпадающем DropDown списке меню сеток при установленном TDBGridEh.IndicatorTitle.UseGlobalMenu = True и TDBGridEh.IndicatorTitle.TitleButton = True. Тип TDBGridEhStyleIndicatorTitleMenusEh является перечисление и содержит следующие значения itmVisibleColumnsEh - Отображать меню со списком полей грида, кликая на которые можно отображать срывать столбцы. itmCut - Отображать меню Cut itmCopy - Отображать меню Copy itmPaste - Отображать меню Paste itmDelete - Отображать меню Delete itmSelectAll - Отображать меню SelectAll События: OnApplyFilter: TNotifyEvent; Событие вызывается, когда в сетке применяется SubTitleFilter. В качестве параметра Sender передается вызывающая сетка. В обработчике события вы можете вызывать обработчик по умолчанию DBGridEhCenter.DefaultApplyFilter. OnApplySorting: TNotifyEvent; Событие вызывается, когда в сетке применяется сортировка. В качестве параметра Sender передается вызывающая сетка. В обработчике события вы можете вызвать обработчик по умолчанию DBGridEhCenter. DefaultApplySorting. OnBuildIndicatorTitleMenu: TDBGridEhBuildIndicatorTitleMenu; Событие вызывается, когда в сетке формируется выпадающее меню при нажатии на верхнюю левую ячейку сетки IndicatorTitle. Событие вызывается если TDBGridEh.IndicatorTitle.TitleButton = True. В событие передается Grid, в котором была нажата IndicatorTitle кнопка и PopupMenu, которое будет отображено под кнопкой. Вы можете вызвать функцию, которая сформирует меню по умолчанию DBGridEhCenter.DefaultBuildIndicatorTitleMenu(Grid, PopupMenu);и затем выполнить дополнительные манипуляции, например, добавить еще один элемент меню. // Ниже пример демонстрирующий как добавить в список IndicatorTitle меню новое меню для печати сетки. // Объявляем ссылку на новое глобальное меню для печати сетки.var DBGridEhPreviewIndicatorMenuItem: TDBGridEhMenuItem; // В public разделе главной формы объявляем методы для события по созданию IndicatorTitle меню. procedure BuildIndicatorTitleMenu(Grid: TCustomDBGridEh; var PopupMenu: TPopupMenu);// И события, которое будет вызываться при выборе нового меню, которое мы добавим в BuildIndicatorTitleMenu. procedure MenuEditClick(Sender: TObject); // В событии создания главной формы (TMainForm.OnCreate) программы присваиваем событие по формированию IndicatorTitle меню.procedure TForm1.FormCreate(Sender: TObject);begin DBGridEhCenter.OnBuildIndicatorTitleMenu:= BuildIndicatorTitleMenu;end; // Сам метод для добавления нового меню в стандартный список IndicatorTitle меню.procedure TForm1.BuildIndicatorTitleMenu(Grid: TCustomDBGridEh; var PopupMenu: TPopupMenu);begin// Вначале вызываем стандартный метод формирования меню. DBGridEhCenter.DefaultBuildIndicatorTitleMenu(Grid, PopupMenu); // Затем добавляем создаем новый. if DBGridEhPreviewIndicatorMenuItem = nil then DBGridEhPreviewIndicatorMenuItem:= TDBGridEhMenuItem.Create(Screen); DBGridEhPreviewIndicatorMenuItem.Caption:= 'Preview'; DBGridEhPreviewIndicatorMenuItem.OnClick:= MenuEditClick; DBGridEhPreviewIndicatorMenuItem.Enabled:= True; DBGridEhPreviewIndicatorMenuItem.Grid:= Grid; // И добавляем его в конец списка меню. PopupMenu.Items.Insert(PopupMenu.Items.IndexOf(DBGridEhSelectAllIndicatorMenuItem)+1, DBGridEhPreviewIndicatorMenuItem); end; // Обработчик меню печати сетки.procedure TForm1.MenuEditClick(Sender: TObject);begin PrintDBGridEh1.DBGridEh:= TDBGridEh(TDBGridEhMenuItem(Sender).Grid); PrintDBGridEh1.SetSubstitutes(['%[Today]',DateToStr(Now)]); PrintDBGridEh1.Preview;end; OnCellMouseClick: TGridEhCellMouseEvent; type TGridEhCellMouseEvent = procedure (Grid: TCustomGridEh; Cell: TGridCoord; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) of object; Событие вызывается при щелчке мышкой на любую ячейку сетки. В событие передается сетка, в которой была кликнута ячейка (Grid), координаты ячейки (Cell), Кнопка, которая была нажата на мышке (Button), Состояние Shift кнопок клавиатуры (Shift) и координаты точки нажатия внутри ячейки (X, Y). В обработчике события вы можете вызывать обработчик по умолчанию DBGridEhCenter.DefaultCellMouseClick. OnIndicatorTitleMouseDown: TGridEhCellMouseEvent; type TGridEhCellMouseEvent = procedure (Grid: TCustomGridEh; Cell: TGridCoord; Button: TMouseButton; Shift: TShiftState; X, Y: Integer) of object; Событие вызывается при нажатии мышкой на верхнюю левую ячейку сетки. В обработчике события вы можете вызывать обработчик по умолчанию DBGridEhCenter.DefaultIndicatorTitleMouseDown. OnLocateText: TLocateTextEventEh; type TLocateTextEventEh = function (Sender: TObject; const FieldName: string; const Text: String; Options: TLocateTextOptionsEh; Direction: TLocateTextDirectionEh; Matching: TLocateTextMatchingEh; TreeFindRange: TLocateTextTreeFindRangeEh): Boolean of object; Событие вызывается при инкрементном или диалоговом поиске в сетке.

Общая информация о классе TDBGridEhStyle:

Для доступа к элемента объекта TDBGridEhStyle используйте глобальную функцию:

function DBGridEhStyle: TDBGridEhStyle;

Она возвращает текущий объект типа TDBGridEhStyle, который управляет отображением всех сеток. Вы можете написать наследника от TDBGridEhStyle в котором можно переписать виртуальные методы управляющие отображением сеток, и зарегистрировать ваш объект управления с помощью функции:

function SetDBGridEhStyle(NewGridStyle: TDBGridEhStyle): TDBGridEhStyle;

Она устанавливает новый объект отображения и возвращает ссылку на старый. Старый объект чаще всего необходимо просто удалить.

Свойства и события класса TDBGridEhStyle:

Свойства

property LuminateSelection: Boolean default True;

Определяет метод подсветки выделенной области. Если LuminateSelection = False то выделение будет закрашиваться цветом clHighlight. Если LuminateSelection = True то выделение будет закрашиваться методом легкого затемнения в сторону clHighlight цвета.

property IsDrawFocusRect: Boolean default True;

Определяет нужно ли рисовать оконтовочный точечный квадрат в сетках вокруг текущей ячейки или строки-записи.





Дата публикования: 2014-11-28; Прочитано: 1600 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...