我的一段代码如下:
先声明procedure mybuttonClick(Sender: TObject);
var
mybutton1:array[0..10] of tbutton;
i:integer;
begin
for i:=0 to 10 do
begin
mybutton1[i]:=tbutton.Create(self);
mybutton1[i].Parent:=self;
mybutton1[i].Width:=75;
mybutton1[i].Height:=25;
mybutton1[i].Top:=40;
mybutton1[i].Left:=i*100;
mybutton1[i].Caption:='按钮'+inttostr(i);
mybutton1[i].Tag :=i;
mybutton1[i].onclick:=mybuttonclick(self);//单击某个控件按钮,弹出对话框,提示单击的是哪个按钮,但是会报错
end; procedure tform1.mybuttonClick(Sender: TObject);
begin
showmessage(inttostr(Tbutton(sender).Tag ));
end;
怎样才能控制每五个按钮为一行进行排列:
按钮0 按钮1 ... 按钮4
按钮5 按钮6 ... 按钮9
按钮9 按钮10请各位大虾指教,谢谢
先声明procedure mybuttonClick(Sender: TObject);
var
mybutton1:array[0..10] of tbutton;
i:integer;
begin
for i:=0 to 10 do
begin
mybutton1[i]:=tbutton.Create(self);
mybutton1[i].Parent:=self;
mybutton1[i].Width:=75;
mybutton1[i].Height:=25;
mybutton1[i].Top:=40;
mybutton1[i].Left:=i*100;
mybutton1[i].Caption:='按钮'+inttostr(i);
mybutton1[i].Tag :=i;
mybutton1[i].onclick:=mybuttonclick(self);//单击某个控件按钮,弹出对话框,提示单击的是哪个按钮,但是会报错
end; procedure tform1.mybuttonClick(Sender: TObject);
begin
showmessage(inttostr(Tbutton(sender).Tag ));
end;
怎样才能控制每五个按钮为一行进行排列:
按钮0 按钮1 ... 按钮4
按钮5 按钮6 ... 按钮9
按钮9 按钮10请各位大虾指教,谢谢
解决方案 »
- 把exe文件改成BMP文件,然后配合你机器里的DEBUG再来还原成EXE
- 如何将Double,single,integer数值,转换成10位固定长度的字符string
- 如何能获取连接access调用sql语句失败的错误消息
- 请问报表打印时 一个字段值太长 怎么设置自动换行
- query_cbtyt not in cached update mode ???
- 自定义数据类型与TStringList类型的转换?
- 关于format的用法!
- 高分请教:我从自己的一个邮箱向自己的另外一个邮箱发东西所产生的问题。。。
- 有人会Notes吗??我需要帮助!
- 致kxy:关于TCP Socket的问题?
- 有文本文件如:test.txt,用delphi如何实现将test.txt内的一整段落替换掉!
- 怎么显示Flash啊?
mybutton1[i].onclick:=mybuttonclick(self); -> mybutton1[i].onclick:=mybuttonclick;//带括号表示方法调用,这里应该是mybuttonclick的方法指针赋给onclick.
2.
mybutton1[i].Top:=40; -> mybutton1[i].Top:=(i div 5)*40;
mybutton1[i].Left:=i*100; -> mybutton1[i].Left:=(i mod 5)*100;