|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Общая процедура между формами
Есть две формы. Есть 2 буттона, 1ый на 1ой форме, 2ой на 2ой форме. Как мне сделать для них общий Onclick, т.е., к примеру в первый буттон написать Onclick:=Button1.click, во второй Onclick:=Form1.button1.click (так, конечно не работает, но смысл понятен). Заранее благодарю.
|
#2
|
|||
|
|||
В Form1:
Код:
uses Unit2; {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); begin Form1.Caption:='OK!!!!!!!!!!!!!!!!' end; procedure TForm1.Button2Click(Sender: TObject); begin Form2.Show; end; В Form2: Код:
uses Unit1; {$R *.dfm} procedure TForm2.FormShow(Sender: TObject); begin Button1.OnClick:=Form1.Button1.OnClick; end; |
#3
|
|||
|
|||
Можно попробовать следующий код:
гдето в начале модуля перед объявлением формы описать такую процедуру: procedure ButtonClick(Sender: TObject); после этого в конструкторе формы такой вод код: Код:
procedure TForm1.FormCreate(Sender: TObject); var Method: TMethod; begin Method.Cod:= @ButtonClick; Method.Data:= NIL; Form1.OnClick:= TNotifyEvent(Method); Form2.OnClick:= TNotifyEvent(Method); end; |
#4
|
|||
|
|||
можно попробовать такой код. Сначало в начале модуля необходимо описать проседуру такого вида:
procedure ButonClick(Sender: TObject); после этого в разделе реализаций: Код:
procedure ButonClick(Sender: TObject); {Эта процедура сначала проверяет создана ли Form2 и если нет тогда создаёт её и показывает сообщение и после этого проверяет показана ли Form2 и если нет то показывает иначе прячет} var Mtd: TMethod; begin if not Assigned(Form2) then begin Mtd.Code:= @ButonClick; Mtd.Data:= NIL; Form2:= TForm2.Create(Application); Form2.OnClick:= TNotifyEvent(Mtd); end; MessageBox(0, 'Hello World !!!', 'WARRNING', MB_OK); if not Form2.Showing then Form2.Show else Form2.Hide; end; procedure TForm1.FormCreate(Sender: TObject); var Method: TMethod; begin Method.Code:= @ButonClick; Method.Data:= NIL; Form1.OnClick:= TNotifyEvent(Method); end; Последний раз редактировалось Admin, 02.05.2011 в 19:47. |
#5
|
|||
|
|||
Спасибо, попробую.
|
#6
|
|||
|
|||
в 1 кнопке пропиши
Form2.Button2Click(Self); и выполнится все то что прописано во второй кнопке |