Форум: "Базы";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Внизфокус ввода Найти похожие ветки
← →
Belkova (2004-06-08 13:46) [0]Мастера Delphi! подскажите, пожалуйста, передаю фокус ввода на DBgrid следующим образом:
DBgrid.Fields[3].focusControl ;
на что выдает сообщение об ошибке, что не может передать фокус на invisible or disabled windows. св-ва visible=true и enabled=true; Почему такое может быть?
← →
Johnmen © (2004-06-08 13:55) [1]DBgrid.SetFocus;
>Почему такое может быть?
Потому, что не видим контрола...:)
← →
Belkova (2004-06-08 14:13) [2]И что делать?
← →
blackman © (2004-06-08 17:31) [3]В приведенном примере курсор помещается во вторую позицию,
текст внутри ячейки не выделяется.
Пример:
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;
← →
Belkova (2004-06-08 18:37) [4]DBGrid фокус получает нормально, а DBGrid.Fields[i] никак.
← →
Johnmen © (2004-06-08 18:52) [5]>DBGrid фокус получает нормально, а DBGrid.Fields[i] никак.
Потому, что DBGrid.Fields[i] не явл.контролом и не может иметь фокуса...
← →
Belkova (2004-06-08 18:57) [6]1. Как сделать, чтобы курсор был в нужной ячеейке?
2. Почему до сегоднящнего дня все это работало?
← →
TohaNik © (2004-06-08 19:05) [7]Наверное так работало MyDataSetMyField.FocusControl
← →
Vlad © (2004-06-08 19:07) [8]
> DBgrid.Fields[3].focusControl ;
Эта конструкция вполне рабочая.
Приведите полный код процедуры, а так же укажите на какое событие она выполняется
← →
TohaNik © (2004-06-08 19:12) [9]>Эта конструкция вполне рабочая.
Как обычно вероятно Fields менялись, а там индекс, ну или в гриде
нет колумна или visible- false:)
← →
Johnmen © (2004-06-08 19:13) [10]>Vlad © (08.06.04 19:07) [8]
>> DBgrid.Fields[3].focusControl ;
>Эта конструкция вполне рабочая.
Но цель другая. В хелпе про это сказано....
← →
Belkova (2004-06-08 19:21) [11]На событие OnKeypress
If Key=#13 then
case DBGridNew.Col of
1: DBGridNew.Fields[3].FocusControl;
2: DBGridNew.Fields[3].FocusControl;
3: DBGridNew.Fields[3].FocusControl;
4: DBGridNew.Fields[4].FocusControl;
5: begin
FDMT.TblItems.Next;
DBGridNew.Fields[3].FocusControl;
end;
end;
← →
Petr V. Abramov © (2004-06-08 19:50) [12]DBgrid.SetFocus;
DBGrid.SelectedIndex := 1 // номер колонки, которую надо выделить
← →
Belkova (2004-06-08 20:05) [13]Спасибо, проблема решилась. Может быть еще есть какие-то мысли почему не стало работать.
← →
Petr V. Abramov © (2004-06-08 20:52) [14]InplaceEditor грида не обязан всегда быть "enabled" и "visible"
← →
Vlad © (2004-06-08 20:57) [15]
> Petr V. Abramov © (08.06.04 20:52) [14]
InplaceEditor тут не причем.
Он вобще nil когда DataSet в dsBrowse
← →
Petr V. Abramov © (2004-06-08 21:05) [16]> Он вобще nil когда DataSet в dsBrowse
Не "когда DataSet в dsBrowse" а до вызова CreateEditor.
← →
Vlad © (2004-06-08 21:21) [17]
> Petr V. Abramov © (08.06.04 21:05) [16]
> Не "когда DataSet в dsBrowse" а до вызова CreateEditor.
-Рядовой Петров, отвечать - из чего сделан затвор автомата ?
-Из стали, тащ подполковник...
-Правильно, а из чего сделано дуло автомата ?
-Тоже из стали, тащ подполковник
-А вот и нет, рядовой Петров... (цитируя учебник).. дуло автомата сделано из того же материала !
← →
Petr V. Abramov © (2004-06-08 21:34) [18]Затвор с дулом не путайте
При переходе в dsBrowse InplaceEditor не уничтожается.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.07.04;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.043 c