CodeNet / Языки программирования / Delphi & Kylix / FAQ - Часто задаваемые вопросы / Borland Delphi VCL FAQ
Как программно перевести DBgrid в реим редактирования и установить курсор в окошке редактирования в требуемую позицию?
Вопрос:
Как программно перевести DBgrid в реим редактирования и установить курсор в окошке редактирования в требуемую позицию?
Ответ:
Переведите таблицу в режим редактирования, затем получите дескриптор (handle) окна редактирования и перешлите ей сообщение EM_SETSEL. В качестве параметров вы должны переслать начальную позицию курсора, и конечную позицию, определяющую конец выделения текста цветом. В приведенном примере курсор помещается во вторую позицию, текст внутри ячейки не выделяется.
Пример:
procedure TForm1.Button1Click(Sender: TObject); var h : THandle; begin Application.ProcessMessages; DbGrid1.SetFocus; DbGrid1.EditorMode := true; Application.ProcessMessages; h:= Windows.GetFocus; SendMessage(h, EM_SETSEL, 2, 2); end;