Недавно добавленные исходники

•  DeLiKaTeS Tetris (Тетрис)  4 806

•  TDictionary Custom Sort  6 808

•  Fast Watermark Sources  6 589

•  3D Designer  9 551

•  Sik Screen Capture  6 928

•  Patch Maker  7 376

•  Айболит (remote control)  7 321

•  ListBox Drag & Drop  6 180

•  Доска для игры Реверси  98 140

•  Графические эффекты  7 494

•  Рисование по маске  6 784

•  Перетаскивание изображений  5 636

•  Canvas Drawing  6 018

•  Рисование Луны  5 806

•  Поворот изображения  5 259

•  Рисование стержней  3 854

•  Paint on Shape  3 011

•  Генератор кроссвордов  3 964

•  Головоломка Paletto  3 144

•  Теорема Монжа об окружностях  3 975

•  Пазл Numbrix  2 627

•  Заборы и коммивояжеры  3 439

•  Игра HIP  2 356

•  Игра Go (Го)  2 269

•  Симулятор лифта  2 673

•  Программа укладки плитки  2 232

•  Генератор лабиринта  2 785

•  Проверка числового ввода  2 391

•  HEX View  2 728

•  Физический маятник  2 418

 
скрыть

Как программно перевести 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;