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

Вниз

где находится курсор в редактируемой ячейке TStringGrid.   Найти похожие ветки 

 
pound ©   (2007-04-30 18:23) [0]

Жизненно необходимо знать, где находится курсор в редактируемой ячейке TStringGrid.
Как подсказывают «Там работает TCustomEdit» . Неправда!  TCustomEdit близко не лежал.
И задумал я вставить в эту ячейку TEdit, но там другая проблема - не показать этот TEdit.
procedure TfmMain. StringGrid1DrawCell(Sender: TObject; ACol,
 ARow: Integer; Rect: TRect; State: TGridDrawState);
var
 e: TEdit;
 R: TRect;
begin
 if (ACol=2) and (ARow=1) then
 begin //*
   with StringGrid1 do
   begin
     if Objects[2,1] = nil then
     begin
       e := TEdit.CreateParented(StringGrid1.Handle);
       Objects[ACol,ARow] := e;
     end;
   end;
   R := Rect;
   if StringGrid1.Objects[2, 1] <> nil then
   with TEdit(StringGrid1.Objects[2, 1]) do
   begin
     Height := r.Bottom - r.Top;
     Width := r.Right - r.Left;
     Left := r.Left;
     Top := r.Top;
     Show;
{
    SetFocus;
     BringToFront;
}
   end;
 end; //*
end;

Может, конечно, есть более простой способ?
Андрей.


 
{RASkov} ©   (2007-04-30 19:01) [1]

> Жизненно необходимо знать, где находится курсор в редактируемой ячейке TStringGrid.

Посмотри вот такой вариант:
procedure TForm1.Timer1Timer(Sender: TObject);
function GetSelStart: Integer;
begin
 SendMessage(Windows.GetFocus, EM_GETSEL, Longint(@Result), 0);
end;
begin
 Caption:=IntToStr(GetSelStart);
end;


 
{RASkov} ©   (2007-04-30 19:02) [2]

> [0] pound ©   (30.04.07 18:23)

Не в тот форум вопрос задал, я чет и не заметил... сорри.


 
ASoft   (2007-05-02 12:26) [3]


> pound ©   (30.04.07 18:23)

кажется, вы изобретаете велосипед.. Хотя, возможно, я не усек суть вопроса :)
Зачем TEdit?
Установите у TStringGrid.Options [goEditing] и редактируйте ячейку.. Если по условию в какой-либо ячейке редактирование запрещено, то сделайте TStringGrid.Options:= TStringGrid.Options-[goEditing]


 
Leonid Troyanovsky ©   (2007-05-02 18:32) [4]


> pound ©   (30.04.07 18:23)

> Жизненно необходимо знать, где находится курсор в редактируемой
> ячейке TStringGrid.
> Как подсказывают «Там работает TCustomEdit» . Неправда!
>  TCustomEdit близко не лежал.


Сам ты не лежал. См. в хелпе иерархию TInplaceEdit.
Кроме того, тебе была дана ссылка на вполне рабочий пример,
который показывал как можно сабклассировать оный редактор.

А сабклассировать придется, бо SetSel - невиртуальный.
Хотя, конечно, если только узнать, то можно и у InplaceEditor
спросить SelStart, SelLength.

--
Regards, LVT.



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

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

Наверх




Память: 0.48 MB
Время: 0.044 c
15-1177044470
Knight
2007-04-20 08:47
2007.05.20
Предлагаю в конфе "Начинающим" создать и закрепить тему, типа,...


3-1172843106
kilya
2007-03-02 16:45
2007.05.20
security.fdb . модификация


2-1178297363
Клик
2007-05-04 20:49
2007.05.20
БД


15-1177201358
Погуглист
2007-04-22 04:22
2007.05.20
У кого нибудь есть странички на google pages ?


2-1177764896
Cj
2007-04-28 16:54
2007.05.20
OpenProcess