我动态创建了一个panel。如何书写这个panel的ONCLICK事件呀。我的代码是这样写的,怎么出错呀。
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Panel1Click(Sender: TObject);
private
procedure myclick(sender:Tobject);
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;
pnl: TPANEL;
implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
//var
// pnl: TPANEL;
begin
pnl := TPanel.Create(Self);
pnl.name:='panel2';
pnl.Parent := Self;
pnl.Left := 100;
pnl.Top := 100;
pnl.Width := 600;
pnl.Height := 600;
pnl.Caption := 'This is a panel control.';
pnl.Color := clRed;
pnl.Visible := true;
pnl.OnClick:=myclick;
end;
procedure myclick(sender:Tobject);
begin
showmessage('wwww');
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
if assigned(FindComponent('panel2')) then
Pnl.Free;
// if assigned(panel2) then panel2.free;
end;procedure TForm2.Panel1Click(Sender: TObject);
begin
//showmessage('www');
end;end.
unit Unit2;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls;type
TForm2 = class(TForm)
Button1: TButton;
Button2: TButton;
Panel1: TPanel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Panel1Click(Sender: TObject);
private
procedure myclick(sender:Tobject);
{ Private declarations }
public
{ Public declarations }
end;var
Form2: TForm2;
pnl: TPANEL;
implementation{$R *.dfm}procedure TForm2.Button1Click(Sender: TObject);
//var
// pnl: TPANEL;
begin
pnl := TPanel.Create(Self);
pnl.name:='panel2';
pnl.Parent := Self;
pnl.Left := 100;
pnl.Top := 100;
pnl.Width := 600;
pnl.Height := 600;
pnl.Caption := 'This is a panel control.';
pnl.Color := clRed;
pnl.Visible := true;
pnl.OnClick:=myclick;
end;
procedure myclick(sender:Tobject);
begin
showmessage('wwww');
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
if assigned(FindComponent('panel2')) then
Pnl.Free;
// if assigned(panel2) then panel2.free;
end;procedure TForm2.Panel1Click(Sender: TObject);
begin
//showmessage('www');
end;end.
解决方案 »
- 帮我参谋,我下一步该怎么办(创业求经)?
- 请教关闭MDI子窗口的问题!
- 请问如何使用Ado访问InterBase数据库?因为系统已经完成大半,突然要求从Sql Server转移到InterBase。
- 关于文件指针问题,急死人了
- 50分求购控件
- delphi 7 如何查询某一段时间的数据
- 关于delphi中的#的各种功能的问题
- TClintDateset怎样增加一条新纪录?
- TCOMBOBOX的控件如何响应LIST消失的那一刻???
- delphi superobject 数组问题
- 初学opengl请各位大虾帮忙解决小问题,在线等......
- 怎样在程序中改变dbgrid或dbgrideh的字体、字体大小、字体颜色
begin
showmessage('wwww');
end;
begin
showmessage('wwww');
end;