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

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

Определить позицию курсора в ячейке грида [D7, WinXP]


MsGuns ©   (2006-11-15 15:36:00) 

Здравствуйте, уважаемые Мастера !

Задачка пустяковая, но решить не получается ;(
Надо определить выделенный текст и позицию курсора в ячейке грида. Вроде SelPos и SelWidth

Благодарю за помощь и подсказки


Anatoly Podgoretsky   (2006-11-17 14:17:00) [1]

> pasha_golub  (17.11.2006 14:11:17)  [17]

Подход должен быть индивидуальный.


Jeer   (2006-11-17 14:15:00) [2]


> pasha_golub ©   (17.11.06 14:11) [17]


Функциональности обычной DBGrid быстро начинает не хватать, поэтому, как правило, те, кто может - быстренько городят свой компонент-наследник, ну а уж там..


pasha_golub   (2006-11-17 14:11:00) [3]


> умкин ©   (17.11.06 08:50) [15]


> А меня недавно Подгорецкий со товарищи за такой прием по
> рукам отлупили. :(


Да, нормальный прием. Ну не городить же огород с регистрацией наследника из-за одного протекдет свойства.


Anatoly Podgoretsky   (2006-11-17 09:38:00) [4]

За подобный, а не этот.


Думкин   (2006-11-17 08:50:00) [5]

> Германн ©   (17.11.06 00:09) [13]
> Loginov Dmitry ©   (17.11.06 07:35) [14]

Вы говорите об одном и том же.

А меня недавно Подгорецкий со товарищи за такой прием по рукам отлупили. :(


Loginov Dmitry   (2006-11-17 07:35:00) [6]

Германн ©   (17.11.06 0:09) [13]
Чтобы понять, что ничего никуда выносить не нужно.


?


Германн   (2006-11-17 00:09:00) [7]


> Loginov Dmitry ©   (16.11.06 20:00) [12]
>
> Германн ©   (16.11.06 18:00) [11]
> См. [5]
>
> Зачем?
>

Чтобы понять, что ничего никуда выносить не нужно.


Loginov Dmitry   (2006-11-16 20:00:00) [8]

Германн ©   (16.11.06 18:00) [11]
См. [5]


Зачем?


Германн   (2006-11-16 18:00:00) [9]


> Хотя есть вариант, когда данное свойство будет использоваться
> в других модулях. В этом случае нужно явно выносить в public.
>

См. [5]


Loginov Dmitry   (2006-11-16 07:47:00) [10]

Stanislav ©   (15.11.06 17:02) [7]
TMyGrid=class(TCustomGrid)
public
property InplaceEditor;
end;


А зачем опять объявлять InplaceEditor? Ты же создал класс-наследник, и теперь все его содержимое секции protected находится в зоне видимости данного модуля.
Хотя есть вариант, когда данное свойство будет использоваться в других модулях. В этом случае нужно явно выносить в public.


Германн   (2006-11-16 00:33:00) [11]


> MsGuns ©   (15.11.06 20:38) [8]
>
> >jack128 ©   (15.11.06 16:50) [5]
>
> И где же там "вытаскивание" ?

А зачем оно вообще нужно. У jack128 самый элегантный способ.


MsGuns   (2006-11-15 20:38:00) [12]

>jack128 ©   (15.11.06 16:50) [5]

И где же там "вытаскивание" ?

>Al
lЯсно.
Я в этом русле и думал, только вот не знал, где эдитор "зарыт" и как до него достучатья. Просто сообразить, что он может лежать в TCustomGrid`е, видать, не судьба была ;))

Большое спасибо всем, вопрос закрыт


Stanislav   (2006-11-15 17:02:00) [13]

Вобщем вот.
Это нужно включить к себе в модуль.
type
TMyGrid=class(TCustomGrid)
public
property InplaceEditor;
end;
обращаться так:
ShowMessage(IntToStr(TMyGrid(StringGrid1).InplaceEditor.SelStart));


Stanislav   (2006-11-15 16:52:00) [14]

он есть и в TCustomGrid, объявить класс TMyGrid=Class(TCustomGrid), и в секии public прописать property InplaceEditor


jack128   (2006-11-15 16:50:00) [15]

MsGuns ©   (15.11.06 16:45) [4]
Можно поподробнее ?

а куда подробноее. от..

type
 TCustomGridCrack = class(TCustomGrid);

procedure TForm2.FormCreate(Sender: TObject);
begin
 ShowMessage(TCustomGridCrack(StringGrid1).InplaceEditor.Text);
end;


MsGuns   (2006-11-15 16:45:00) [16]

Речь вообще-то о стрингриде.

> вытащитьсвойство InPlaceEditor в public секцию.

Можно поподробнее ?


Stanislav   (2006-11-15 16:32:00) [17]

Разработчики EhLib так и сделали.
ShowMessage (IntToStr(DBGRIDeh1.InplaceEditor.SelStart));


Jeer   (2006-11-15 16:17:00) [18]

Сделать наследник от TDBGrid (если о нем речь) и вытащить свойство InPlaceEditor в public секцию.

InPlaceEditor  - есть наследник от TCustomMaskEdit у которого есть public нужные свойства (SelText и прочее)


Stanislav   (2006-11-15 15:51:00) [19]

MsGuns ©   (15.11.06 15:36)  
Знаю как в ВTDBGRIDEH определить.


Наверх

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