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
进入获取退出
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()
函数,和具体处理函数挂钩