Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Процедура открытия модального окна [D3, WinXP]


user1 ©   (2004-09-09 09:24:00) 

Подскажите, пожалуйста!
Нужно написать процедуру отрытия модальных окон,
используя свойство 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


Ega23   (2004-09-09 10:10:00) [1]

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


wal   (2004-09-09 10:07:00) [2]


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.

С уважением.


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

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


46_55_41_44   (2004-09-09 09:40:00) [4]

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

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:00) [5]

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

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... и все!!!


Наверх

Титульная страница Поиск, карта сайта Написать письмо