Главная страница
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.048 c
3-1078219576
senya
2004-03-02 12:26
2004.04.04
как использовать транзакции с ADO ?


1-1079499645
artyom
2004-03-17 08:00
2004.04.04
Запуск программы при двойном щелчке по файлу в окне Explorer а


7-1074615667
DCoder
2004-01-20 19:21
2004.04.04
регистрация расширения *.DB в системе


14-1079001104
Igor_thief
2004-03-11 13:31
2004.04.04
Maximize


1-1078996913
Дас Виндовс 45
2004-03-11 12:21
2004.04.04
Сортировка массива