我设置了一个动态按钮数组,使用软件时可根据需要自由增减按钮的数量。但是我在动态设置按钮的事件时,却始终找不出很好的办法。
请各位勿必帮忙!多谢!
解决方案 »
- 工程能正常编译和运行,但在delphi7中打开某个窗体时提示:class TRMReport not found
- TToolButton点击之后不可见问题
- 关于定位查询,过滤等类似的问题
- 寻找函数:取字符串的第一个字符
- 时间查询怪问题!!请大家帮忙解决!
- 依据给出的几个数字 如何快速排列出所有可能的组合
- 高分求助:在制作安装程序时,出现EDBEngineErrot错误,并报告未知的数据库
- 怎样在StringGrid中添加新行,在线守候
- 一个关于报表打印问题,大家关注:可能大家都比较容易碰到的问题。
- 怎样在delphi中合并excel中的单元格,方法是什末,能推荐相关资料最好,谢谢!
- 急招:招聘:Delphi开发工程师 中关村
- 鼠标上得小小问题!可是我不知道该怎么查文档 在线等。
在创建好动态按钮后用Button.OnClick:=响应函数
Buttons[i] := TButton.Create(MyForm);
Buttons[i].Parent := MyForm;
现在你要做的只是再添加一句:
Buttons[i].OnClick := MyButtonOnClick;
如要为Buttons[1]设置事件,要先定义
procedure MyButtonOneOnClick(Sender: TObject);
begin
end;
然后将事件的指针指向这个事件即可,即:
Buttons[1].OnClick:=MyButtonOneOnClick;
所以没有人能回答出来
onclick的参数只有sender,你要什么样的参数表?
简单的一个参数,比可以使用button的tag来存储这个值,在用的时候,用
(sender as TButton).tag就可以取出相应的参数了,另外,保存更复杂的参数可以继承这个button
button的tag来存储值,该值表示数组的位置,在Onclick事件中用用
(sender as TButton).tag取出相应的值,查找对应数组位置,你需要什么参数尽管用好了。
方法2、从BUTTON类继承一个新类,增加一个新的事件,该事件可以定义你需要的参数,激活该事件时
必须带参数,处理该事件时就有你需要的参数了。