起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 365|回复: 6

如何获取BizToolBar1上的按钮

[复制链接]
发表于 2010-9-26 16:49:12 | 显示全部楼层 |阅读模式
我在窗体界面上通过BizToolBar1引用了一个自定义的toolbar(上面有三个Button:b1,b2,b3),
现在想知道在点击时,是哪个Button被点击了。请问该如何获取?
回复

使用道具 举报

发表于 2010-9-26 17:37:02 | 显示全部楼层
呃?楼主,没看明白。。。您说的点击时是指的点哪?哪个button的单击事件被触发点击的不就是哪个button么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-9-27 09:42:49 | 显示全部楼层
如图,我想在biztoolbar的AfteraAction或者onclick事件中,捕获是哪个按钮被触发了,以此根据按钮执行不同的程序代码

anniu.jpg

8.9 KB, 下载次数: 156

回复 支持 反对

使用道具 举报

发表于 2010-9-27 14:11:57 | 显示全部楼层
经测试,如果您BizToolBar上面的按钮是通过Action添加处理代码的话。则可以通过BeforeAction和AfterAction事件扑捉到。代码如:
procedure TMainForm.DocViewBarAfterAction(Sender: TObject);
begin
  Business.Forms.Dialogs.ShowMessage(ObjectHelper.GetType(Sender).FullName);
end;
此时的Sender为触发的Action

若您的button是在单击事件里添加的处理代码,则无论Action事件还是OnClick事件均无法扑捉到触发的按钮。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-9-27 17:31:26 | 显示全部楼层
procedure TXSHTPSSQFORM.BizToolBar1AfterAction(Sender: TObject);
begin
  Dialogs.ShowMessage(ObjectHelper.GetType(Sender).FullName);
end;

已经修改成action代码处理,但通过代码跟踪发现,里面的代码不执行啊!

楼上的是DocViewBar?我的是BizToolBar
回复 支持 反对

使用道具 举报

发表于 2010-9-27 17:47:17 | 显示全部楼层
呃。。。抱歉楼主,搞错了。测试时用的是DocViewBar。刚才试了下BizToolBar在Action和OnClick事件上都不能扑捉到相应的事件。您是需要实现具体的什么功能?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2010-9-28 09:13:51 | 显示全部楼层
实在不行的话,我再想想其他办法,先结贴吧
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 20:51 , Processed in 0.044228 second(s), 18 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表