![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как обработать событие
ДмитрийВ © (2002-02-09 18:07:00)есть процедура
procedure TForm1.Button1Click(Sender: TObject);
var
Window : TForm;
Button2 : TButton;
begin
Window:=TForm.Create(Form1);
Button2:=TButton.Create(Window);
Button2.Parent:=Window;
Window.Height:=600;
Window.Width:=600;
Window.Caption:="Проба";
Button2.Width:=100;
Button2.Height:=20;
Button2.Top:=100;
Button2.Left:=300;
Button2.Caption:="Жопа";
Button2.TabStop:=True;
Button2.TabOrder:=0;
Button2.Tag:=0;
Window.Show;
end;
как для button2, например, нажатие(OnClick) описать?
Dimk (2002-02-10 01:05:00) [1]И еще: OnClick -у надо присваивать метода не регулярную процедуру. Так что в самом деле можно просто сделать
procedure Form1.ButtonOnClick(Sender: TObject);
begin
Window.Free;
end;
и конечно в объявление формы дописать
Form1 = class(TForm)
.....
procedure ButtonOnClick(Sender: TObject);
....
end;
Song (2002-02-09 20:45:00) [2]А ты попробуй создай для события onClick любой кнопки процедуру и сразу увидишь свою ошибку.
А ошибка твоя именно том, что ты забыл в процедуру передать Sender
Procedure TForm1.Button1Click(Sender:TObject);
Именно так Дельфи генерирует процедуру при добавлении её на событие. Поэтому чтобы твоё событие работало нужно передавать туда все параметры, которые предусмотрены для такого события. В данном случае это Sender
ДмитрийВ (2002-02-09 18:23:00) [3]изменил на так
procedure TForm1.Button1Click(Sender: TObject);
var
Window : TForm;
Button2 : TButton;
procedure ButtonOnClick;
begin
Window.Free;
end;
begin
Window:=TForm.Create(Form1);
Button2:=TButton.Create(Window);
Button2.Parent:=Window;
Window.Height:=600;
Window.Width:=600;
Window.Caption:="Проба";
Button2.Width:=100;
Button2.Height:=20;
Button2.Top:=100;
Button2.Left:=300;
Button2.Caption:="Жопа";
Button2.TabStop:=True;
Button2.TabOrder:=0;
Button2.Tag:=0;
Window.Show;
Button2.OnClick:=ButtonOnClick;
end;
делафя пишет что incompatible type "method pointer and regular procedure"
Song (2002-02-09 18:12:00) [4]Создаёшь процедру, которая должна будет обрабатывать твоё нажатие
а к твоему тексту выше добавляешь Button2.OnClick:=имя_процедуры;