回顧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
Page對象事件
l 頁面添加:PageAdded
l 頁面改變:PageChanged
l 頁面删除:BeforePageDelete
l 取消頁面删除:PageDeleteCanceled
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
Cell對象事件
l Cell的值改變:CellChanged
l Cell的formula 改變:FormulaChanged
Selection對象事件
l 選區删除前:BeforeSelectionDelete
l 選區删除提示:QueryCancelSelectionDelete
l 選區增加:SelectionAdded
l 選區改變:SelectionChanged
l 選區取消:SelectionDeleteCanceled
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()函數,和具體處理函數挂鈎