Вниз
Скачать: CL | DM;

Процедура открытия модального окна   Найти похожие ветки 

 
user1   (2004-09-09 09:24) [0]

Подскажите, пожалуйста!
Нужно написать процедуру отрытия модальных окон,
используя свойство Tag вызывающего их компонента.
Короче, у меня это выглядит так:

TForm1.Button1Click...
begin
 Form2:=TForm2.Create(Application);
 Form2.ShowModal;
end

TForm1.Button2Click...
begin
 Form3:=TForm3.Create(Application);
 Form3.ShowModal;
end

TForm1.Button3Click...
begin
 Form4:=TForm4.Create(Application);
 Form4.ShowModal;
end

Как видите, текст один и тот же.
Хотелось бы делать это одной процедурой
в зависимости от, скажем, значения свойства Tag кнопки Button,
и присвоить другим кнопкам ее событие OnClick и вызывыть
нужные формы. :

TForm1.Button3Click...
begin
 case (sender as TButton).Tag of
   1: // Спасибо, если укажете правильный путь
   2: // С уважением, :)
 end
end


 
46_55_41_44 ©   (2004-09-09 09:40) [1]

Слушай ты же сам уже ответ написал :)))

TForm1.Button3Click(Sender: TObject);
begin
case (sender as TButton).Tag of
  1: begin
      Form2:=TForm2.Create(Application);
      Form2.ShowModal;
     end;    
  2: begin
      Form3:=TForm3.Create(Application);
      Form3.ShowModal;
     end;    
  3: begin
      Form4:=TForm4.Create(Application);
      Form4.ShowModal;
     end;    
end
end;

просто после всего этого в Object Inspector в OnClick каждой формы указываешь Button3Click... и все!!!


 
46_55_41_44 ©   (2004-09-09 09:40) [2]

Слушай ты же сам уже ответ написал :)))

TForm1.Button3Click(Sender: TObject);
begin
case (sender as TButton).Tag of
  1: begin
      Form2:=TForm2.Create(Application);
      Form2.ShowModal;
     end;    
  2: begin
      Form3:=TForm3.Create(Application);
      Form3.ShowModal;
     end;    
  3: begin
      Form4:=TForm4.Create(Application);
      Form4.ShowModal;
     end;    
end
end;

просто после всего этого в Object Inspector в OnClick каждой кнопки указываешь Button3Click... и все!!!


 
46_55_41_44 ©   (2004-09-09 09:44) [3]

Пардон за дублирование... просто ошибся в первый раз. Вместо слова "формы" надо было написать слово "кнопки"...


 
wal ©   (2004-09-09 10:07) [4]


TForm1.Button3Click(Sender: TObject);
var
 Form: TForm;
begin
case (sender as TButton).Tag of
 1:  Form:=TForm2.Create(Application);
 2:  Form:=TForm3.Create(Application);
 3:  Form:=TForm4.Create(Application);
 else Exit
end;
Form.ShowModal;
Form.Free
end;

Если, конечно, TFormX - наследники TForm.

С уважением.


 
Ega23 ©   (2004-09-09 10:10) [5]

кстати, можно и так:
TForm1.Button3Click...
begin
case (sender as TButton).Tag of
  1: Button1.OnClick(nil);
  2: Button2.OnClick(nil);
end
end



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

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



Память: 0.46 MB
Время: 0.022 c
1-1094732269
dima_shapkin
2004-09-09 16:17
2004.09.26
Design Time


3-1093603018
kyka
2004-08-27 14:36
2004.09.26
Поиск master-detail


14-1094333223
Ihor Osov'yak
2004-09-05 01:27
2004.09.26
Утечка памяти?


14-1094231085
Кирилл
2004-09-03 21:04
2004.09.26
Смертная казнь


3-1093420208
Евген
2004-08-25 11:50
2004.09.26
фильтрация полей с русскими названиями




   Наверх