Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2010.02.28;
Скачать: CL | DM;

Вниз

Позиция курсора в ячейке DBGrid   Найти похожие ветки 

 
TComponent ©   (2009-12-24 21:35) [0]

Как программно определить позицию курсора в ячейке DBGrid?


 
Amoeba ©   (2009-12-24 22:01) [1]

И зачем это понадобилось?


 
Игорь Шевченко ©   (2009-12-24 22:15) [2]

начинать от MouseToCell и арифметикой


 
Омлет ©   (2009-12-24 22:23) [3]

Как вариант проверить
 SendMessage(Handle, EM_GETSEL, Longint(@Result), 0);


 
TComponent ©   (2009-12-24 22:28) [4]


> И зачем это понадобилось?

Ну, например, чтобы можно было программно удалить не один символ до или после курсора, а целое слово.

Может быть для DBGrid существуют соответствующие сочетания клавиш, которые выполняют эту функцию?


 
Игорь Шевченко ©   (2009-12-24 22:31) [5]

TComponent ©   (24.12.09 22:28) [4]

У DBGrid-а вообще ничего не существует. Существует у InplaceEditor-а в режиме редактирования


 
Омлет ©   (2009-12-24 22:40) [6]

Например, для StringGrid сработал такой фокус:


 TMyStringGrid = class (TStringGrid)
 public
   property InplaceEditor;
 end;

...

 CurPos := TMyStringGrid(StringGrid1).InplaceEditor.SelStart;


 
TComponent ©   (2009-12-24 22:51) [7]


> Омлет ©   (24.12.09 22:23) [3]
>
> Как вариант проверить
>  SendMessage(Handle, EM_GETSEL, Longint(@Result), 0);

Что подразумевается под идентификатором "Result"?
[Error]: Undeclared identifier: "Result"


> Игорь Шевченко ©   (24.12.09 22:31) [5]
>
> TComponent ©   (24.12.09 22:28) [4]
>
> У DBGrid-а вообще ничего не существует. Существует у InplaceEditor-
> а в режиме редактирования

InplaceEditor - это тоже сетка? Если - сетка, то насколько она совместима по своим свойствам, методам и событиям с DBGrid (если в проекте заменить DBGrid на InplaceEditor)? Знаете?


 
Омлет ©   (2009-12-24 22:54) [8]

> [7] TComponent ©   (24.12.09 22:51)

Result - это переменная типа Integer.
InplaceEditor - это редактор текста, который создается в ячейке при её редактировании.
Смотри [6] и делай по аналогии.


 
Amoeba ©   (2009-12-24 22:57) [9]


> InplaceEditor - это тоже сетка?

Нет, это потомок TCustomMaskEdit, появляющийся в выбранной ячейке при переходе в режим редактирования.


 
Игорь Шевченко ©   (2009-12-25 00:31) [10]

TComponent ©   (24.12.09 22:51) [7]

Матчасть учить не ?


 
TComponent ©   (2009-12-25 01:27) [11]


> Игорь Шевченко ©   (25.12.09 00:31) [10]
>
> TComponent ©   (24.12.09 22:51) [7]
>
> Матчасть учить не ?

Лучше научите, как запретить DBGrid-у вставлять в редактируемую ячейку ненужный символ при нажатии Ctrl+BackSpace (Это сочетание я использую, чтобы удалить слово перед курсором). Нажатие этого сочетания приводит к появлению в ячейке символа, похожего на жирную вертикальную палку. Можно ли сделать так, чтобы этот ненужный символ не появлялся?


 
Amoeba ©   (2009-12-25 01:40) [12]

Так для этого надо сперва научить TEdit. В нем, а также TDBEdit тоже наблюдается это явление.


 
Германн ©   (2009-12-25 01:48) [13]


> Лучше научите, как запретить DBGrid-у вставлять в редактируемую
> ячейку ненужный символ при нажатии Ctrl+BackSpace

А смысл? В следующий раз ты спросишь про иную комбинацию клавиш.


 
Amoeba ©   (2009-12-25 01:59) [14]


> Лучше научите, как запретить DBGrid-у вставлять в редактируемую
> ячейку ненужный символ при нажатии Ctrl+BackSpace

Может лучше просто отлавливать его в соответствующем событии формы и там гнобить если фокус на таких компонентах?


 
Игорь Шевченко ©   (2009-12-25 02:37) [15]


> Так для этого надо сперва научить TEdit. В нем, а также
> TDBEdit тоже наблюдается это явление.


А что его учить - переписать оконную процедуру, отлавливать WM_CHAR


 
MonoLife ©   (2009-12-25 05:35) [16]


> Лучше научите, как запретить DBGrid-у вставлять в редактируемую
> ячейку ненужный символ при нажатии Ctrl+BackSpace

DBGrid.readonly=true



Страницы: 1 вся ветка

Текущий архив: 2010.02.28;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.012 c
2-1261735439
картман
2009-12-25 13:03
2010.02.28
comobject as dll


6-1213006787
DVM
2008-06-09 14:19
2010.02.28
Виснет TidHTTPServer при попытке его остановки.


2-1261679750
TComponent
2009-12-24 21:35
2010.02.28
Позиция курсора в ячейке DBGrid


15-1261085421
Юрий
2009-12-18 00:30
2010.02.28
С днем рождения ! 18 декабря 2009 пятница


15-1260860008
Alkid
2009-12-15 09:53
2010.02.28
Вспоминая: "Почему программисты не хотят структурировать код"