C#进行Visio二次开发之事件

           

回顾Visio的对象

l  Application对象

l  Window对象

l  Document对象

l  Page对象

l  Master对象

l  Shape对象

l  Cell对象

 

 

Visio对象还有

l  Selection对象

l  Connects对象

l  Style对象

l  Keyboard

l  Mouse

l  DataRecordset

 

Application对象的事件

l  右键菜单:MarkerEvent

l  程序退出前:BeforeQuit

l  模态窗口关闭后:AfterModal

l  模态窗口出现前:BeforeModal

l  Visio事件完成:NoEventsPending

l  程序激活:AppActivated

l  程序挂起前:BeforeSuspend

l  进入获取退出ScopesEnterScope/ExitScope

l  用户动作响应提示:QueryCancelQuit

l   … …

 

Window对象的事件

l  窗口打开:WindowOpened

l  窗口改变:WindowChanged

l  窗口关闭前:BeforeWindowClosed

l  窗口关闭取消:WindowCloseCanceled

l  窗口选区Shape被删除: BeforeWindowSelDelete

l  窗口页面改变前: BeforeWindowPageTurn

l  窗口页面改变后:WindowTurnedToPage

l  Visio窗口改变:WindowActivated

l  … …

 

Document对象事件

l  文档添加:DocumentAdded

l  文档创建:DocumentCreated

l  打开文档:DocumentOpened

l  文档改变:DocumentChanged

l  文档保存:DocumentSaved

l  文档关闭:BeforeDocumentClose

l  … …

 

Page对象事件

l  页面添加:PageAdded

l  页面改变:PageChanged

l  页面删除:BeforePageDelete

l  取消页面删除:PageDeleteCanceled

l  … …

 

Shape对象事件

l  Shape删除前:BeforeShapeDelete

l  Shape添加:ShapeAdded

l  Shape改变:ShapeChanged

l  Shape删除后: ShapesDeleted

l  Shape文本编辑:BeforeShapeTextEdit

l  Shape文本编辑退出:ShapeExitedTextEdit

l  Shape 连接添加:ShapeLinkAdded

l  Shape 连接删除: ShapeLinkDeleted

l  Shape 组合变化: ShapeParentChanged

 

Master对象事件

l  模具添加:MasterAdded

l  模具改变:MasterChanged

l  模具删除:BeforeMasterDelete

l  取消模具删除:MasterDeleteCanceled

l  模具删除提示:QueryCancelMasterDelete

l  … …

 

Cell对象事件

l  Cell的值改变:CellChanged

l  Cellformula 改变:FormulaChanged

 

Selection对象事件

l  选区删除前:BeforeSelectionDelete

l  选区删除提示:QueryCancelSelectionDelete

l  选区增加:SelectionAdded

l  选区改变:SelectionChanged

l  选区取消:SelectionDeleteCanceled

l  … …

 

Connects对象事件

l  连接添加:ConnectionsAdded

l  连接移除:ConnectionsDeleted

 

Style对象事件

l  Style添加:StyleAdded

l  Style改变: StyleChanged

l  Style删除前: BeforeStyleDelete

l  Style取消删除: StyleDeleteCanceled

l  Style删除提示:QueryCancelStyleDelete

 

 

Keyboard对象事件

l  KeyDown

l  KeyPress

l  KeyUp

 

Mouse对象事件

l  MouseDown

l  MouseMove

l  MouseUp

 

事件的处理

l  实现接口IVisEventProc

n  public class EventSink : IVisEventProc

l  使用AddAdvise建立事件侦听

n  documentEvents.AddAdvise( (unchecked((short)VisEventCodes.visEvtAdd) + (short)VisEventCodes.visEvtShape),  (IVisEventProc)this, sink, "ShapeAdd");

l  实现object IVisEventProc.VisEventProc()函数,和具体处理函数挂钩

posted on 2008-07-12 08:32  伍华聪  阅读(4619)  评论(0编辑  收藏  举报

导航