Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.47 MB
Время: 0.029 c
11-1058764208
bobo
2003-07-21 09:10
2004.04.04
Почему не пашут фукции KOL для работы с системным реестром ?


3-1078559198
STAR-BOY-F
2004-03-06 10:46
2004.04.04
MySQL и DELPHI 3


11-1058355768
ser_ker
2003-07-16 15:42
2004.04.04
Работа с KOlEDb


14-1078484333
blackman
2004-03-05 13:58
2004.04.04
Добрые истории для детей


1-1079301312
Troy
2004-03-15 00:55
2004.04.04
паскаль. integer