Текущий архив: 2004.04.04;
Скачать: CL | DM;
Вниз
Как встроить компоненты редактирования в KOLmdvXLGrid? Найти похожие ветки
← →
_Polymorphic_ (2003-07-30 10:36) [0]Поделитесь опытом > subj. Thnx!
← →
mdw © (2003-07-30 12:50) [1]Как таковой редактор в Grid-компоненте отсутствует (в VCL -
InplaceEditor). Т.к сетка, все таки предназначена для отображения
данных, а редакторование - это функционально.
Для поддержки возможности редактирования есть два свойства.
OnBeginEdit - возникает при возникновении возможности редактирования (Enter, F2, Двойном щелчке на
ячейке). Переход в режим редактирования по одному щелчку (как в
Grid"e VCL) - нет, мне это там не нравилось. Хотя если есть
настоятельное мнение, что это нужно, можно и сделать. :))
TOnBeginEdit = procedure (Sender: PControl; ACol, ARow: Integer; var AShowControl, ATextControl: PControl; var AIndents: TRect) of object;
Sender: PControl - Сам контрол, т.е Grid.
ACol, ARow: Integer; - соответственно координаты сфокусированной
ячейки.
var AShowControl: PControl - здель нужно передать указатель на контрол
(PControl), который будет использоваться как редактор. Например
Edit или Panel, при этом на ней можно разместить любые элементы.
Если nil(он там изначально) - то соответственно редактор вызываться не будет.
var ATextControl: PControl; - Элемент, который будет иметь фокус
просле активизации редактора (AShowControl). Имеет смысл если на
AShowControl лежит несколько контролов. может быть nil, тогда фокус
получит AShowControl.
var AIndents: TRect - Отступы с которыми будет позиционироваться
AShowControl относительно ячейки. Полезно для выравнивания текста в
Grid"e и в редакторе, ну или еще зачем нибудь - вариантов много.
Элементы редактирования (AShowControl) не должны использоваться для
других целей, т.к. они автоматически будут скрываться по окончанию
редактирования.
OnEndEdit - возникает при окончании редактирования. (нажатии Enter, F2, потере фокуса)
TOnEndEdit = procedure (Sender: PControl; ACol, ARow: Integer; AShowControl, ATextControl: PControl; var AText: String; var Access: Boolean) of object;
Sender: PControl; Тоже что и в OnBeginEdit
ACol, ARow: Integer;
AShowControl, ATextControl: PControl;
var AText: String; - Текст который будет установлен в ячейке(по
умолчанию текст из FTextEditor)
var Access: Boolean - При False выход из редактора не произойдет.
Обрабатывать OnEndEdit не обязательно, т.к в ячейке текст
установится автоматом из FTextEditor.
Страницы: 1 вся ветка
Текущий архив: 2004.04.04;
Скачать: CL | DM;
Память: 0.46 MB
Время: 0.022 c