阅读文章

C#进行Visio开发的事件处理

[日期:2008-02-24] 来源:  作者: [字体: ]

    
  Visio的二次开发过程中,必定要处理很多Visio事件,事件基本上分为三类:Document事件、Applicaiton事件、AxDrawingControl事件。Document事件是每个文档创建或者打开都需要重新绑定一次的,但是Application事件不变,即不需要重新绑定,AxDrawingControl是ActiveX控件的事件响应。
  在C#进行Visio的开发中,通过继承接口IVisEventProc,可是创建事件的侦听处理类,如下所示:
   [ComVisible(true)]
   public sealed class EventSink2 : IVisEventProc
   {
  
  ..
  
   object IVisEventProc.VisEventProc(short eventCode, object source, int eventId,
   int eventSequenceNumber, object subject, object moreInfo)
   {
  
   }
   }
  事件有很多类,有Application级别的,有Document级别的,有Page级别的,有Shape级别的,有Windows级别的,有Cell级别的..............,下面截取一部份事件代码看看
  
   // Document event codes
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtDoc + (short)Microsoft.office.Interop.Visio.
   VisEventCodes.visEvtDel:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtCodeBefDocSave:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtCodeBefDocSaveAs:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtCodeDocDesign:
   // Page event codes
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtPage + (short)Microsoft.office.Interop.Visio.
   VisEventCodes.visEvtDel:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtPage + visEvtAdd:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtPage + (short)Microsoft.office.Interop.Visio.
   VisEventCodes.visEvtMod:
   // Master event codes
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtMaster + (short)Microsoft.office.Interop.Visio.
   VisEventCodes.visEvtDel:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtMaster + (short)Microsoft.office.Interop.Visio.
   VisEventCodes.visEvtMod:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtCodeCancelMasterDel: // Shape event codes
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtShape + (short)Microsoft.office.Interop.Visio.
   VisEventCodes.visEvtDel:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtCodeShapeBeforeTextEdit:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtShape + visEvtAdd:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtShape + (short)Microsoft.office.Interop.Visio.
   VisEventCodes.visEvtMod: // Cell event codes
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtCell + (short)Microsoft.office.Interop.Visio.
   VisEventCodes.visEvtMod:
   case (short)Microsoft.office.Interop.Visio.VisEventCodes.
   visEvtFormula + (short)Microsoft.office.Interop.Visio.
   VisEventCodes.visEvtMod:还有很多很多..  


阅读:
录入:blue1000

评论 】 【 推荐 】 【 打印
上一篇:C#进行Visio二次开发的常见问题处理
下一篇:对软件外包的思考
相关文章      
本文评论
发表评论


点评: 字数
姓名:

  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款