起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 566|回复: 5

【搞定】对于DocViewBar,如何判断点击的是打印按钮**

[复制链接]
发表于 2007-1-22 10:25:12 | 显示全部楼层 |阅读模式
对于DocViewBar,如何判断点击的是打印按钮?
我看了相关的帖子,也加入了ActionList,并添加了ComponentPrintAction动作,同时执行其Execute事件。如下代码
procedure TPrintTestForm.ComponentPrintAction1Execute(Sender: TObject);
var
  p: TComponentPrintAction;
begin
  p := TComponentPrintAction.Create(self);
  p.ID := 42;       //41--printsetup  42--printview  43-print
  p.AutoDetect := true;
  p.Execute;
  p.Free;
   dialogs.showmessage('ComponentPrintAction1Execute');
end;

但怎么没有见到执行该段代码的痕迹?
回复

使用道具 举报

 楼主| 发表于 2007-1-22 10:29:30 | 显示全部楼层
作了上面的这些操作之后,是不是还需要设置什么?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-22 11:31:50 | 显示全部楼层
请问为什么回帖子这么慢?
回复 支持 反对

使用道具 举报

发表于 2007-1-22 11:51:02 | 显示全部楼层
楼主,文档操作的工具栏对应的Action是TBizDocAction

你可以在工具栏的 BeforeAction 事件中来处理:
procedure TMainForm.DocViewBarBeforeAction(Sender: TObject);
begin
  case TBizDocAction(Sender).ID of
      BizActnConsts.ActionPrintPrint: JsDialogs.ShowMsg('Print', '');
      BizActnConsts.ActionPrintPreview: JsDialogs.ShowMsg('Preview', '');
      BizActnConsts.ActionPrintSetup: JsDialogs.ShowMsg('PrintSetup', '');
  end;
end;
回复 支持 反对

使用道具 举报

发表于 2007-1-22 12:02:49 | 显示全部楼层
SYSutils.Abort;
可以取消你的动作
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-22 14:31:47 | 显示全部楼层
哦,谢谢!
回复 支持 反对

使用道具 举报

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

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2024-12-23 22:45 , Processed in 0.046517 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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