Форум: "Базы";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
ВнизActiveControl - не срабатывает фокусировка в форме Найти похожие ветки
← →
kserg@ukr.net (2002-03-12 12:39) [0]В глав.форме на событие DblСlick на конкретном поле GRID-а вызывается модальная форма редактирования записи,
при этом я сразу перевожу фокус на cоот-щий нажатому полю Edit.Text.
Фокус устанавливаю перед открытием окна так:
if DBGridEh1.SelectedField.FullName="NMat" then fmEditCont.ActiveControl:= fmEditCont.NMat;
Проблема в том, что при первом вызове формы фокус упорно позиционируется на 1й EDIT, но при последующих вызовах формы
устанавливается правильно. В чём дело?
Заодно прошу объяснить, есть ли преимущества между использованием Form.ActiveControl или Edit.SetFocus
для первоначальной установки фокуса на нужный control?
Спасибо.
← →
Johnmen (2002-03-12 12:56) [1]В OnShow формы :
if DBGridEh1.SelectedField.FieldName="NMat" then
<что-то>.SetFocus;
← →
Shaman_Naydak (2002-03-12 18:39) [2]SetFocus физически передает фокус в указанный контрол.
=> Если форма невидимая или контрол невидимый, то будет ексептион.
ActiveControl же более интеллектуальная штука и не будет ругаться, это так сказать пожелание: хочу фокус на тот контрол.. Если сейчас можно то переставит, если форма невидимая, то переставит когда будут отображать, Если нельзя переставить на контрол, ничего страшного
← →
kserg@ukr.net (2002-03-12 18:45) [3]>Shaman_Naydak - понял.
Так в чём на твой взгляд проблема с первой фокусировкой?
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];
Память: 0.44 MB
Время: 0.004 c