求教关于数组控件设置动作时参数传递的问题,在线等……

neulxg 2006-05-04 08:16:55
用数组的形式开辟了一三维的Button数组:Button[i,j,k],同时设置Button的动作与一固定的Button1动作相同:Button[i,j,k].OnClick := Button1.OnClick(循环语句在此省略),但是此时应该怎么才能把参数i,j,k传递给Button1.OnClick呢,因为在处理OnClick动作的时候,我需要用到i,j,k三个参数。在此先谢谢各位DX了。
...全文
149 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
neulxg 2006-05-04
  • 打赏
  • 举报
回复
顺利通过,呵呵,再次感谢老之!
老之 2006-05-04
  • 打赏
  • 举报
回复
在Button2Click里面已经将Bi,Bj,Bk传了过去了。

你改成下面的,可以看到它的值在变了
procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage(IntToStr(TMyButton(Sender).Bi));
TMyButton(Sender).Bi:=TMyButton(Sender).Bi+123;
ShowMessage(IntToStr(TMyButton(Sender).Bi));
end;
neulxg 2006-05-04
  • 打赏
  • 举报
回复
To:老之;首先谢谢您,您昨天就帮了我的一个忙。我是想把a[i,j,k](用你上面的例子)中的三个参数传到Button2Click中去,在Button2Click中对i,j,k进行处理,这样的话,我就可以用 a[i,j,k].OnClick:=Button2Click来让数组中的Button实现对应的功能了,而你上面只是对自定义的button增加了三个参数值,好像和我要求的有点不对应。呵呵,我是delphi新手,望不惜赐教,谢谢老之!
老之 2006-05-04
  • 打赏
  • 举报
回复
继承TButton,加多3个参数:

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TMyButton=class(TButton)
public
Bi,Bj,Bk:integer;
end;

TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
a:array[1..5,1..5,1..5] of TMyButton;
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var i,j,k:integer;
begin
for i:=1 to 5 do
for j:=1 to 5 do
for k:=1 to 5 do
begin
a[i,j,k]:=TMyButton.Create(self);
a[i,j,k].Parent:=Form1;
a[i,j,k].Bi:=i;
a[i,j,k].Bj:=j;
a[i,j,k].Bk:=k;
a[i,j,k].OnClick:=Button2Click;
a[i,j,k].Top:=i*30;
a[i,j,k].Left:=j*30;
a[i,j,k].Show;
end;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
ShowMessage(IntToStr(TMyButton(Sender).Bi));
end;

end.
neulxg 2006-05-04
  • 打赏
  • 举报
回复
Button[i,j,k].tag只能传递一个参数,但是我需要传递三个参数啊
aiirii 2006-05-04
  • 打赏
  • 举报
回复
看看可否利用 Button[i,j,k].tag

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧