用一个循环运行相应的事件

alec_ma 2004-03-16 11:13:34
有一些BUTTOM的事件,我想用一个数组,循环运行所有的BUTTOM事件。
比如Button1...10
每个BUTTON都有一个事件,
for i := 1 to 10 do
运行相应的事件,比如“Button1MouseMove”,“Button2MouseMove”.
有什么方法可以做到?
...全文
36 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zswangII 2004-03-16
  • 打赏
  • 举报
回复
//try
var
I: Integer;
vComponent: TComponent;
begin
for I := 1 to 10 do begin
vComponent := FindComponent(Format('Button%d', [I]));
if (vComponent is TButton) and
Assigned(TButton(vComponent).OnMouseMove) then
TButton(vComponent).OnMouseMove(vComponent, [], 0, 0);
end;
end;
DelphiBoy2003 2004-03-16
  • 打赏
  • 举报
回复
把10个Button的Tag值设置为0-9,然后写这样的代码,我假设你在一个Panel上面点击的时候运行你的需求
//Panel的单击事件
var
i :integer;
begin
for i := 0 to Form1.ControlCount - 1 do
begin
if Form1.Controls[i] is TButton then
if TButton(Form1.Controls[i]).Tag in [0..9] then
TButton(Form1.Controls[i]).OnMouseMove(Sender);
end;
end;
zyxg 2004-03-16
  • 打赏
  • 举报
回复
不知道这样行不行
Button1.OnMouseMove(sender);
Button2.OnMouseMove(sender);
Button3.OnMouseMove(sender);
Button4.OnMouseMove(sender);
Button5.OnMouseMove(sender);
Button6.OnMouseMove(sender);
alec_ma 2004-03-16
  • 打赏
  • 举报
回复
主要是不知道如何动态运行过程:(
da_yu 2004-03-16
  • 打赏
  • 举报
回复
不知这样行不行?
先把10个BUTTON的TAG属性设置成从0--9以使FOR循环遍历,然后在执行FOR循环中用一个方法指针依次调用每个BUTTON的事件处理过程。
da_yu 2004-03-16
  • 打赏
  • 举报
回复
循环好办,关键是10个button的事件都需要驱动。
alec_ma 2004-03-16
  • 打赏
  • 举报
回复
GOOD.thankyou

5,386

社区成员

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

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