Главная страница
    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.46 MB
Время: 0.046 c
2-1178037815
Антон Шестаков
2007-05-01 20:43
2007.05.20
Меню как в Nero


15-1176812625
@!!ex
2007-04-17 16:23
2007.05.20
Помогите собрать багажник на пятерку!


1-1174502110
Михаил Н
2007-03-21 21:35
2007.05.20
Работа с типизированным файлом


5-1154004530
Couter Terranist
2006-07-27 16:48
2007.05.20
халявний gif-анимационный компонент


15-1177060687
IMHO
2007-04-20 13:18
2007.05.20
Latex





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский