我用以下语句实现了动态生成按钮,按钮的Caption为数据表里的某一字段值,有多少条记录就生成多少个按钮,由于是动态生成的,所以我无法控制该按钮的ONCLICK事件,例如与field_name字段对应字段ID为计数字段,每按一次按钮,对应的ID字段值就加一。如何现?大家有什么提议?
while not query1.Eof do
begin
N:=query1.Fieldbyname('field_name').AsString;
D := Tbutton.Create(Self);
D.Parent := Form1;
D.Left :=left;
D.Top :=5;
D.Width := 60;
D.Height :=25;
D.Caption := N;
query1.Next;
left:=left+70;
end
while not query1.Eof do
begin
N:=query1.Fieldbyname('field_name').AsString;
D := Tbutton.Create(Self);
D.Parent := Form1;
D.Left :=left;
D.Top :=5;
D.Width := 60;
D.Height :=25;
D.Caption := N;
query1.Next;
left:=left+70;
end
解决方案 »
- ADOQuery如何得到字段信息
- delphi 7.0 fastreport 3.0 关于frxCross以及Band宽度以及起始位置设置问题
- 用过Formulaone 的朋友过来看看, 请问一下怎么样设置打印标题?
- 简单的记录编辑问题,今天又有30分了.
- TTable的过滤问题?很难!
- 求助
- 在win2000中编的程序到windows xp中运行出错,请问是怎么回事?
- 请各位告之xp图标下载的网址,只要*.bmp图标,不要*.ico的图标,方便一下大家装点自已的程序界面!
- 谁能给我关于DELPHI中使用ADO的编程指南(给40分,在线)
- 谁知道rstp协议所要用到的断口号??
- 从数据库中读出来的这种HTML代码如何显示呀?
- ***********低分求救******** 关于****网络计时***的问题!
..
private
procedure ButtonClick(Sender: TObject);
...procedure TForm1.ButtonClick(Sender: TObject);
begin
MessageBox(Handle, PChar(TButton(Sender).Caption), '', MB_ICONINFORMATION);
end;...
D := Tbutton.Create(Self);
D.Parent := Form1;
//使OnClick事件执行ButtonClick的代码
D.OnClick := ButtonClick;
...
只能用sender方法获得动态创建的按纽的句柄