TRxDrawGrid Component

Unit
RxGrids

Description
Компонента TRxDrawGrid, являясь наследником TDrawGrid, наследует все свойства и методы этой компоненты, и имеет некоторые дополнительные возможности.
Так, при редактировании текста в строке редактирования ячейки таблицы, событие OnSetEditText вызывается не при каждом изменении содержимого строки ввода, а только при выходе из режима редактирования. Во время заполнения текста в строке редактирования вызываются события OnAcceptEditKey и OnEditChange, позволяющие разрешить или запретить ввод определенных символов в строку редактирования.

В 32-разрядной реализации компоненты Вы можете указать стиль строки редактирования для каждой ячейки (например, задав выпадающий список для редактора или определив событие на нажатие кнопки справа от строки редактора) с помощью события OnGetEditStyle.
Кроме того, для доступа к строке редактирования в ячейке таблицы свойство InplaceEditor вынесено в секцию public, и имеется ряд дополнительных полезных событий.
Компонента имеет дополнительные методы DrawStr, DrawMultiline, DrawPicture и DrawMasked для рисования в ячейках таблицы (grid) текста, картинок и "прозрачных" битовых изображений.



Примеры работы и некоторые интересные свойства и методы.

Declaration
property OnAcceptEditKey: TAcceptKeyEvent;

Description
Событие OnAcceptEditKey происходит, если свойство Options содержит значение goEditing и пользователь редактирует текст в ячейке таблицы (компоненты TRxDrawGrid) при нажатии символьных клавиш на клавиатуре. Вы можете обработать это событие для того, чтобы запретить, например, ввод определенных символов в строку редактирования и т.д.



Declaration
type
TAcceptKeyEvent = function (Sender: TObject; var Key: Char): Boolean of object;
Description
Тип предназначен для определения методов — обработчиков события OnAcceptEditKey компоненты TRxDrawGrid.



Declaration
property OnEditChange: TNotifyEvent;

Description
Событие возникает при изменении текста в редакторе компоненты TRxDrawGrid в режиме редактирования содержимого ячейки.
Вы можете обработать событие OnEditChange, например, для проверки правильности ввода данных в строке редактирования.



Declaration
property OnGetEditStyle: TEditStyleEvent;

Description
OnGetEditStyle occurs when the in-place editor requests an edit style.
The Style parameter determines how users can edit the data of a grid cell. These are the possible values of Style:
- ieSimple — No combo box or ellipsis button is provided. The user cannot select the cell's content from a list.

- iePicklist — The grid displays a combo box in the column, and the user can choose a value from the drop-down list. You must specify contents of a pick-list by handling OnGetPicklist event.
- ieEllipsis — The column displays an ellipsis button that the user can click to choose a value. Clicking the ellipsis button triggers an OnEditButtonClick event.

OnGetEditStyle does not occur unless the Options property includes goEditing.


Declaration
property OnGetPicklist: TPicklistEvent;

Description
OnGetPicklist occurs when the in-place editor requests a pick-list for its drop-down control.
You must fill contents of string-list specified by PickList parameter by adding lines (and possible objects) to the string-list.
OnGetPicklist does not occur unless the Options property includes goEditing and your custom OnGetEditStyle event handler set Style parameter to iePicklist.


Declaration
type
TPicklistEvent = procedure (Sender: TObject; ACol, ARow: Longint; PickList: TStrings) of object;
Description
Тип предназначен для определения методов — обработчиков события OnGetPicklist компоненты TRxDrawGrid.


Declaration
procedure DrawStr(ARect: TRect; const S: string; Align: TAlignment);

Description
Метод предназначен для отрисовки строки в ячейке таблицы (в одну строку) с заданным выравниванием (Align).

Вы можете вызвать этот метод в обработчике события OnDrawCell.


Declaration
procedure DrawMultiline(ARect: TRect; const S: string; Align: TAlignment);

Description
Метод предназначен для отрисовки строки текста в ячейке таблицы (в несколько строк, если весь текст не входит по ширине в ячейку) с заданным выравниванием (Align).

Вы можете вызвать этот метод в обработчике события OnDrawCell.


Declaration
procedure DrawPicture(ARect: TRect; Graphic: TGraphic);

Description
Метод предназначен для отрисовки графического изображения в ячейке таблицы. Изображение рисуется в центре переданного прямоугольника ARect.
Вы можете вызвать этот метод в обработчике события OnDrawCell.


Declaration
procedure DrawMasked(ARect: TRect; Graphic: TBitmap);

Description
Метод предназначен для отрисовки "прозрачного" битового изображения (Bitmap) в ячейке таблицы. Изображение рисуется в центре переданного прямоугольника ARect. В качестве "прозрачного" цвета используется цвет левого нижнего пикселя битового изображения.

Вы можете вызвать этот метод в обработчике события OnDrawCell.