Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.031 c
6-1090422982
Kapitan
2004-07-21 19:16
2004.09.26
пользователь на удаленном компьютере


14-1094265307
Думкин
2004-09-04 06:35
2004.09.26
С днем рождения! 4 сентября


3-1093864382
samumka
2004-08-30 15:13
2004.09.26
Округление значений в IB


6-1090390091
Gold
2004-07-21 10:08
2004.09.26
TIdPop3 сохрание вложение в поток?


4-1092400756
PL
2004-08-13 16:39
2004.09.26
Управление чужим окном на более сложном уровне




   Наверх