![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | 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); и выполнится все то что прописано во второй кнопке |