Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как выделить часть текста в ячейке DBGrida? [D6, IB6.x]


Таня ©   (2002-09-20 10:17:00) 

Здравствуйте! Пытаюсь сделать автоподстановку подходящих значений при наборе начальных символов в lookup поле DBGrida. Как найти, вывести - понятно; непонятно, как выделить предлагаемую часть значения. Я правильно понимаю, что нужно вычислять координаты выделямого прямоугольника и устанавливать на него фокус? Каким образом тогда получить координаты текущей ячейки? Может есть путь попроще? Подскажите,пожалуйста!

Я знаю, что эта вещь реализована в DBGridEh, но уменя его пока нет, других подходящих компонент я не нашла.

Помогите, плз!


Таня   (2002-09-20 11:54:00) [1]

Спасибо всем большое!


ЮЮ   (2002-09-20 11:50:00) [2]

У автора:
http://www.farpost.com/personal/dmitryb/RUS/downloads.htm


Таня   (2002-09-20 11:44:00) [3]

To ЮЮ
> советую обратиться к исходникам DBGridEh и в нём добиваться нужной функциональности
Да, видимо, это наиболее разумный вариант. Не подскажете, где их можно быстро взять?


Johnmen   (2002-09-20 11:42:00) [4]

type
TMyDBGrid = class(TDBGrid);

...

TMyDBGrid(DBGrid1).InplaceEditor


Johnmen   (2002-09-20 11:34:00) [5]

Виноват...Доступ к InplaceEditor реализован в TRxDBGrid...


ЮЮ   (2002-09-20 11:31:00) [6]

TCustomGrid
protected
property InplaceEditor: TInplaceEdit read FInplaceEdit;

Естественно, оно protected, т.к. редактирование ячеек - это "внутреннее" дело Grida, а чтобы Grid должным образом поступал и пишут Наследника. Поэтому и советую обратиться к исходникам DBGridEh и в нём добиваться нужной функциональности.


Wolf226   (2002-09-20 11:28:00) [7]

InplaceEditor - protected.
Пиши свой компонент наследник TDBGrid (или TCustomDBGrid)
и получишь к нему доступ.


Таня   (2002-09-20 11:10:00) [8]

To Johnmen
Было бы замечательно, но у DBGrid я не нашла свойства InplaceEditor. Видимо, я чего-то не понимаю :(


Johnmen   (2002-09-20 10:59:00) [9]

...а именно :
with DBGrid1.InplaceEditor do begin;
SelStart:=0; SelLength:=Length(FindStr);
...


ЮЮ   (2002-09-20 10:53:00) [10]

>Нет, вводить надо прямо в ячейку DBGrida
При редактировании в ячейках грида на самом деле используется InplaceEditor,в сам грид ничего не вводится. Скачай-ка всё-таки EhLib и посмотри как там всё устроено.


Johnmen   (2002-09-20 10:53:00) [11]

Именно так ЮЮ © (20.09.02 10:30)


Таня   (2002-09-20 10:47:00) [12]

To Prooksius:
Нет, вводить надо прямо в ячейку DBGrida. Про SelStart/SelLength знаю, они только для TEdit и ComboBox - не проходит


ЮЮ   (2002-09-20 10:44:00) [13]

Только каретка будет в конце выделенного блока. :-(


Prooksius   (2002-09-20 10:35:00) [14]

Эти начальные символы ты вводишь в TEdit или наследник от него?
Если да, то тебе нужен Edit1.SelStart/SelLength


ЮЮ   (2002-09-20 10:32:00) [15]

Нет не пойдёт :-(


ЮЮ   (2002-09-20 10:30:00) [16]

>как выделить предлагаемую часть значения
SelStart,SelLength


Наверх

Титульная страница Поиск, карта сайта Написать письмо