![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Определить позицию курсора в ячейке грида [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 определить.