有一些BUTTOM的事件,我想用一个数组,循环运行所有的BUTTOM事件。
比如Button1...10
每个BUTTON都有一个事件,
for i := 1 to 10 do
运行相应的事件,比如“Button1MouseMove”,“Button2MouseMove”.
有什么方法可以做到?
比如Button1...10
每个BUTTON都有一个事件,
for i := 1 to 10 do
运行相应的事件,比如“Button1MouseMove”,“Button2MouseMove”.
有什么方法可以做到?
解决方案 »
- widestring + widestring =空 ,請高手指點!
- ★★国庆演练,散分,10:00结帖★★
- RAVE打印报表老出现的错误提示
- 求助,如何一运行程序就执行Timer控件中的内容?
- COM+组件能不能实现夸路由互联??
- 关于子类改变父类静态方法的疑问
- 我原来用的宽带是单机用户,现在我想让几台机器共享,能实现吗?如能解决,高分相送。
- 有一个字段名叫DM,原来是2位字符型的,现在需要改成3位,即在前面自动加一个0即可,请问用什么语句?
- 我已经问了第三次了,难道真没有人会???(在VC中这个问题只是两三行代码就可以解决的),Delphi没有VC方便?
- 下班前,最后一问,如何让RichEdit中的不同行,用不同的颜色显示?
- 利用编程的方式实现--只改变图片的打印大小,--而不改变图片的像素大小。(图片只限于jpg格式)
- 复杂问题:多页不同的报表处理。
先把10个BUTTON的TAG属性设置成从0--9以使FOR循环遍历,然后在执行FOR循环中用一个方法指针依次调用每个BUTTON的事件处理过程。
Button1.OnMouseMove(sender);
Button2.OnMouseMove(sender);
Button3.OnMouseMove(sender);
Button4.OnMouseMove(sender);
Button5.OnMouseMove(sender);
Button6.OnMouseMove(sender);
//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;
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;