Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 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 - понял.
Так в чём на твой взгляд проблема с первой фокусировкой?




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.04;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.021 c
1-9464            Ravil                 2002-03-22 16:50  2002.04.04  
Подвисание при заходе в папку с программой


1-9518            _xiod (sorry? forg.o  2002-03-23 02:34  2002.04.04  
пиплы! нужен хэлп по таймерам под виндой!


14-9631           Fred                  2002-02-23 08:02  2002.04.04  
Как засинхронизироваться по времени от другого коммпьютера?


3-9409            Dima Kopachev         2002-03-10 15:19  2002.04.04  
Ошибка General SQL error


1-9546            SemenK                2002-03-24 11:05  2002.04.04  
КАК СОЗДАТЬ ФОРМУ ОТПРАВКИ ПИСЬМА ?