回顾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 进入获取退出Scopes:EnterScope/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 Cell的formula 改变: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()函数,和具体处理函数挂钩
本文转自博客园伍华聪的博客,原文链接:C#进行Visio二次开发之事件,如需转载请自行联系原博主。