procedure TForm1.Panel1Click(Sender: TObject); begin // end;注意那个Sender。可以这样来处理procedure DycPanelClick(Sender: TObject); begin ShowMessage(TPanel(Sender).Name); ShowMessage(IntToStr(TPanel(Sender).Tag)); end;
自定义click事件 procedure TForm1.MyClick(Sender: TObject); begin ShowMessage(TPanel(Sender).Caption); end; 新建panel procedure TForm1.Button2Click(Sender: TObject); var p:TPanel; begin p := TPanel.Create(Self); p.Parent := Self; p.Caption := 'mypanel'; p.OnClick := Self.MyClick;//赋予事件end;
刚刚自己想了个办法 不知道有没有不好地方 //在创建的时候调用自己定义的OnClick PanelArray1[I].OnClick:=PanelClick //自己定义了个OnClick函数 procedure TForm1.PanelClick(Sender:TObject); var i:Integer; begin for I :=Low(PanelArray1)to High(PanelArray1) do begin if TPanel(Sender)=PanelArray1[I] then PanelArray1[I].Visible:=False; end; end;不知道有什么不妥当的地方
procedure TForm1.PanelClick(Sender: TObject); begin ShowMessage('1'); end; procedure TForm1.FormCreate(Sender: TObject); begin .... Panel1.OnClick:=PanelClick; end; 自定义一个如:PanelClick(Sender: TObject); 注意参数要一样
//在创建的时候调用自己定义的OnClick PanelArray1[I].OnClick:=PanelClick //創建時對每個TAG進行賦順序值。 //自己定义了个OnClick函数 procedure TForm1.PanelClick(Sender:TObject); var i:Integer; begin if Sender is Tpanel then begin case Tpanel(Sender).tag of 0: showMessage(' 你點擊了第1個PANEL'); 1:showMessage(' 你點擊了第2個PANEL'); 2:showMessage(' 你點擊了第3個PANEL'); end;end;
begin
//
end;注意那个Sender。可以这样来处理procedure DycPanelClick(Sender: TObject);
begin
ShowMessage(TPanel(Sender).Name);
ShowMessage(IntToStr(TPanel(Sender).Tag));
end;
自定义click事件
procedure TForm1.MyClick(Sender: TObject);
begin
ShowMessage(TPanel(Sender).Caption);
end;
新建panel
procedure TForm1.Button2Click(Sender: TObject);
var
p:TPanel;
begin
p := TPanel.Create(Self);
p.Parent := Self;
p.Caption := 'mypanel';
p.OnClick := Self.MyClick;//赋予事件end;
//在创建的时候调用自己定义的OnClick
PanelArray1[I].OnClick:=PanelClick
//自己定义了个OnClick函数
procedure TForm1.PanelClick(Sender:TObject);
var
i:Integer;
begin
for I :=Low(PanelArray1)to High(PanelArray1) do
begin
if TPanel(Sender)=PanelArray1[I] then
PanelArray1[I].Visible:=False;
end; end;不知道有什么不妥当的地方
procedure TForm1.PanelClick(Sender: TObject);
begin
ShowMessage('1');
end; procedure TForm1.FormCreate(Sender: TObject);
begin
....
Panel1.OnClick:=PanelClick;
end; 自定义一个如:PanelClick(Sender: TObject);
注意参数要一样
//在创建的时候调用自己定义的OnClick
PanelArray1[I].OnClick:=PanelClick //創建時對每個TAG進行賦順序值。
//自己定义了个OnClick函数
procedure TForm1.PanelClick(Sender:TObject);
var
i:Integer;
begin
if Sender is Tpanel then
begin
case Tpanel(Sender).tag of
0: showMessage(' 你點擊了第1個PANEL');
1:showMessage(' 你點擊了第2個PANEL');
2:showMessage(' 你點擊了第3個PANEL');
end;end;