Главная страница
    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.05 c
1-1174978693
serp
2007-03-27 10:58
2007.05.20
Монитор в режим ожидания


2-1178366375
Ламер 2.Х
2007-05-05 15:59
2007.05.20
Перезагрузка


1-1174570484
tytus
2007-03-22 16:34
2007.05.20
Форма поверх всех окон и панели задач.


3-1172993659
AlexLines
2007-03-04 10:34
2007.05.20
По поводу инсталяции InterBase


4-1166436548
Лёля
2006-12-18 13:09
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
Английский Французский Немецкий Итальянский Португальский Русский Испанский