Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.05.20;
Скачать: [xml.tar.bz2];

Вниз

где находится курсор в редактируемой ячейке 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.039 c
2-1178196382
pavel_guzhanov
2007-05-03 16:46
2007.05.20
зависание при вставке записи в базу


6-1163510799
DVM
2006-11-14 16:26
2007.05.20
Отправка письма через Winsock, искажается поле Subject


15-1175945059
Чапаев
2007-04-07 15:24
2007.05.20
Оцените резюме, плз


15-1176839735
Чапаев
2007-04-17 23:55
2007.05.20
PL/SQL. Что почитать?


2-1178266462
SerMaxx
2007-05-04 12:14
2007.05.20
Как работать с графиками





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский