Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Как программно перевести 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;

Проект Delphi World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay