Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.26;
Скачать: CL | DM;

Вниз

Передача фокуса элементу управления модального окна   Найти похожие ветки 

 
QuasiLamo ©   (2004-09-12 21:33) [0]

Создаю форму и контролы(батоны) на ней "на лету".
Необходимо показать ее модально.
Как передать фокус нужному контролу?
До показа это сделать я не сумел, ибо "can"t focuse on disabled or invisible window", поэтому сделал по тупому. Сначала показываем форму, затем проставлям фокус на нужной кнопке, затем окно прячем, потом показываем модально. Если ли способ лучше?


 
Sheng ©   (2004-09-12 23:34) [1]

Пусть Form2 выpsdftncz как модальная.
В форме в public описать переменну, например ControlID: Byte;
Перед показом: Form2.ControlID:=1;

в Form2.OnShow:

case ControlID of
   1: Edit1.SetFocus;
   2: Edit2.SetFocus;
   3: Edit3.SetFocus;
   else Button1.SetFocus;
end;


 
Sheng ©   (2004-09-12 23:35) [2]

* выpsdftncz = вызывается


 
QuasiLamo ©   (2004-09-12 23:39) [3]

Ага.
Можно для этого использовать свойство tag
procedure TFu.show(Sender: TObject);
var
 i: integer;
begin
 for i := 1 to (Sender as TFORM).ControlCount - 1 do
   with ((Sender as TFORM).controls[i] as TBitbtn) do
     if tag = def then
     begin
       SetFocus;
       exit;
     end;
end;


 
KSergey ©   (2004-09-13 08:58) [4]

А может соотв. контрол просто сделать TabOrder=0?


 
evvcom ©   (2004-09-13 12:09) [5]

TForm.ActiveControl



Страницы: 1 вся ветка

Текущий архив: 2004.09.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.022 c
1-1095139121
_newver_
2004-09-14 09:18
2004.09.26
преобразование типов при подключении DLL


1-1094565678
Новенький
2004-09-07 18:01
2004.09.26
Как получить первую букву слова введенного в Edit?


1-1094895203
Oleksiy
2004-09-11 13:33
2004.09.26
Максимальное количество форм


14-1094399063
Piter
2004-09-05 19:44
2004.09.26
Странный цвет у файлов


14-1093740231
Nick0la
2004-08-29 04:43
2004.09.26
Есть ли горячая клавиша для путешествия по операторным скобкам?