用visio进行二次开发,不免要用到事件。这里把visio对象模型的所有事件列出来,方便大家查找。第一个事件列表的是按事件名称字母排序的;第二个代码片段是根据分类来展示的。需要注意的是,控件本身有一些事件,可以通过它来注册事件。还有一种方法就是自己写一个事件代理类,来注册事件和侦听事件,如果是使用代理来注册事件,那么需要注册什么事件,用的是表中第二列的Event code,并需要把它强制转化成short类型,表中第三列给出的是每一个事件对应的short值。关于这方面的文章在后续的文章中会有讲解。
在visio对象模型中,事件主要分为几类:
1.文档事件(Document Event code);
2.页面事件(Page Event code);
3.模具事件(Master event codes);
4.选择器事件(Selection event codes);
5.图形事件(Shape event codes);
6.ShapeSheet中单元格事件(Cell event codes);
7.连接事件(Connects event codes);
8.样式事件(Style event codes);
9.窗体事件(Window event codes);
10.应用事件(Application event codes)。
Event
|
Event code
|
Numeric code
|
AfterModal
|
visEvtApp+visEvtAfterModal
|
&H1040
|
AfterResume
|
visEvtCodeAfterResume
|
&H00D1(209)
|
AppActivated
|
visEvtApp+visEvtAppActivate
|
&H1001
|
AppDeactivated
|
visEvtApp+visEvtAppDeactivate
|
&H1002
|
AppObjActivated
|
visEvtApp+visEvtObjActivate
|
&H1004
|
AppObjDeactivated
|
visEvtApp+visEvtObjDeactivate
|
&H1008
|
BeforeDocumentClose
|
visEvtDel+visEvtDoc
|
&H4002
|
BeforeDocumentSave
|
visEvtCodeBefDocSave
|
&H0007 (7)
|
BeforeDocumentSaveAs
|
visEvtCodeBefDocSaveAs
|
&H0008 (8)
|
BeforeMasterDelete
|
visEvtDel+visEvtMaster
|
&H4008
|
BeforeModal
|
visEvtApp+visEvtBeforeModal
|
&H1020
|
BeforePageDelete
|
visEvtDel+visEvtPage
|
&H4010
|
BeforeQuit
|
visEvtApp+visEvtBeforeQuit
|
&H1010
|
BeforeSelectionDelete
|
visEvtCodeBefSelDel
|
&H0385 (901)
|
BeforeShapeDelete
|
visEvtDel+visEvtShape
|
&H4040
|
BeforeShapeTextEdit
|
visEvtCodeShapeBeforeTextEdit
|
&H0323 (803)
|
BeforeStyleDelete
|
visEvtDel+visEvtStyle
|
&H4004
|
BeforeSuspend
|
visEvtCodeBeforeSuspend
|
&H00D0(208)
|
BeforeWindowClosed
|
visEvtDel+visEvtWindow
|
&H4001
|
BeforeWindowPageTurn
|
visEvtCodeBefWinPageTurn
|
&H02BF (703)
|
BeforeWindowSelDelete
|
visEvtCodeBefWinSelDel
|
&H02BE (702)
|
CellChanged
|
visEvtMod+visEvtCell
|
&H2800
|
ConnectionsAdded
|
visEvtAdd+visEvtConnect
|
&H8100
|
ConnectionsDeleted
|
visEvtDel+visEvtConnect
|
&H4100
|
ConvertToGroupCanceled
|
visEvtCodeCancelConvertToGroup
|
&H038C (908)
|
DesignModeEntered
|
visEvtCodeDocDesign
|
&H0006 (6)
|
DocumentAdded
|
visEvtAdd+visEvtDoc
|
&H8002
|
DocumentChanged
|
visEvtMod+visEvtDoc
|
&H2002
|
DocumentCloseCanceled
|
visEvtCodeCancelDocClose
|
&H0010 (10)
|
DocumentCreated
|
visEvtCodeDocCreate
|
&H0001 (1)
|
DocumentOpened
|
visEvtCodeDocOpen
|
&H0002 (2)
|
DocumentSaved
|
visEvtCodeDocSave
|
&H0003 (3)
|
DocumentSavedAs
|
visEvtCodeDocSaveAs
|
&H0004 (4)
|
EnterScope
|
visEvtCodeEnterScope
|
&H00CA (202)
|
ExitScope
|
visEvtCodeExitScope
|
&H00CB (203)
|
FormulaChanged
|
visEvtMod+visEvtFormula
|
&H3000
|
KeyDown
|
visEvtCodeKeyDown
|
&H2C8 (712)
|
KeyPress
|
visEvtCodeKeyPress
|
&H2C9 (713)
|
KeyUp
|
visEvtCodeKeyUp
|
&H2CA (714)
|
MasterAdded
|
visEvtAdd+visEvtMaster
|
&H8008
|
MarkerEvent
|
visEvtApp+visEvtMarker
|
&H1100
|
MasterChanged
|
visEvtMod+visEvtMaster
|
&H2008
|
MasterDeleteCanceled
|
visEvtCodeCancelMasterDel
|
&H0191 (401)
|
MouseDown
|
visEvtCodeMouseDown
|
&H2C5 (709)
|
MouseMove
|
visEvtCodeMouseMove
|
&H2C6 (710)
|
MouseUp
|
visEvtCodeMouseUp
|
&H2C7 (711)
|
MustFlushScopeBeginning
|
visEvtCodeBefForcedFlush
|
&H00C8 (200)
|
MustFlushScopeEnded
|
visEvtCodeAfterForcedFlush
|
&H00C9 (201)
|
NoEventsPending
|
visEvtApp+visEvtNonePending
|
&H1200
|
OnKeystrokeMessageForAddon
|
visEvtCodeWinOnAddonKeyMSG
|
&H02C4 (708)
|
PageAdded
|
visEvtAdd+visEvtPage
|
&H8010
|
PageChanged
|
visEvtMod+visEvtPage
|
&H2010
|
PageDeleteCanceled
|
visEvtCodeCancelPageDel
|
&H01F5 (501)
|
QueryCancelConvertToGroup
|
visEvtCodeQueryCancelConvertToGroup
|
&H038B (907)
|
QueryCancelDocumentClose
|
visEvtCodeQueryCancelDocClose
|
&H0009 (9)
|
QueryCancelMasterDelete
|
visEvtCodeQueryCancelMasterDel
|
&H0190 (400)
|
QueryCancelPageDelete
|
visEvtCodeQueryCancelPageDel
|
&H01F4 (500)
|
QueryCancelQuit
|
visEvtCodeQueryCancelQuit
|
&H00CC (204)
|
QueryCancelSelectionDelete
|
visEvtCodeQueryCancelSelDel
|
&H0387 (903)
|
QueryCancelStyleDelete
|
visEvtCodeQueryCancelStyleDel
|
&H012C (300)
|
QueryCancelSuspend
|
visEvtCodeQueryCancelSuspend
|
&H00CE(206)
|
QueryCancelUngroup
|
visEvtCodeQueryCancelUngroup
|
&H0389 (905)
|
QueryCancelWindowClose
|
visEvtCodeQueryCancelWinClose
|
&H02C2 (706)
|
QuitCanceled
|
visEvtCodeCancelQuit
|
&H00CD (205)
|
RunModeEntered
|
visEvtCodeDocRunning
|
&H0005 (5)
|
SelectionAdded
|
visEvtCodeSelAdded
|
&H0386 (902)
|
SelectionChanged
|
visEvtCodeWinSelChange
|
&H02BD (701)
|
SelectionDeleteCanceled
|
visEvtCodeCancelSelDel
|
&H0388(904)
|
ShapeAdded
|
visEvtAdd+visEvtShape
|
&H8040
|
ShapeChanged
|
visEvtMod+visEvtShape
|
&H2040
|
ShapeExitedTextEdit
|
visEvtCodeShapeExitTextEdit
|
&H0324 (804)
|
ShapeParentChanged
|
visEvtCodeShapeParentChange
|
&H0322 (802)
|
ShapesDeleted
|
visEvtCodeShapeDelete
|
&H0321 (801)
|
StyleAdded
|
visEvtAdd+visEvtStyle
|
&H8004
|
StyleChanged
|
visEvtMod+visEvtStyle
|
&H2004
|
StyleDeleteCanceled
|
visEvtCodeCancelStyleDel
|
&H012D (301)
|
SuspendCanceled
|
visEvtCodeCancelSuspend
|
&H00CF(207)
|
TextChanged
|
visEvtMod+visEvtText
|
&H2080
|
UngroupCanceled
|
visEvtCodeCancelUngroup
|
&H038A (906)
|
ViewChanged
|
visEvtCodeViewChanged
|
&H02C1 (705)
|
VisioIsIdle
|
visEvtApp+visEvtIdle
|
&H1400
|
WindowActivated
|
visEvtApp+visEvtWinActivate
|
&H1080
|
WindowCloseCanceled
|
visEvtCodeCancelWinClose
|
&H02C3 (707)
|
WindowOpened
|
visEvtAdd+visEvtWindow
|
&H8001
|
WindowChanged
|
visEvtMod+visEvtWindow
|
&H2001
|
WindowTurnedToPage
|
visEvtCodeWinPageTurn
|
&H02C0 (704)
|
![](/Images/OutliningIndicators/ContractedBlock.gif)
Code
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:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtDoc + visEvtAdd:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtDoc + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtMod:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeCancelDocClose:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeDocCreate:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeDocOpen:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeDocSave:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeDocSaveAs:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeDocRunning:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelDocClose:
}
{
// 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:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeCancelPageDel:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelPageDel:
}
{
// 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:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtMaster + visEvtAdd:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelMasterDel:
}
{
// Selection event codes
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeBefSelDel:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeSelAdded:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeCancelSelDel:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeCancelConvertToGroup:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelUngroup:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelConvertToGroup:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelSelDel:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeCancelUngroup:
}
{
// 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:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeShapeExitTextEdit:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeShapeParentChange:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeShapeDelete:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtText + (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:
}
{
// Connects event codes
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtConnect + visEvtAdd:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtConnect + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtDel:
}
{
// Style event codes
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtStyle + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtDel:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtStyle + visEvtAdd:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtStyle + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtMod:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeCancelStyleDel:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelStyleDel:
}
{
// Window event codes
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtWindow + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtDel:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeBefWinPageTurn:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtWindow + visEvtAdd:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtWindow + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtMod:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeWinPageTurn:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeBefWinSelDel:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeCancelWinClose:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtWinActivate:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeWinSelChange:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeViewChanged:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelWinClose:
}
{
// Application event codes
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtAfterModal:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeAfterResume:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtAppActivate:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtAppDeactivate:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtObjActivate:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtObjDeactivate:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtBeforeModal:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtBeforeQuit:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeBeforeSuspend:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeEnterScope:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeExitScope:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeKeyDown:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeKeyPress:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeKeyUp:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtMarker:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeMouseDown:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeMouseMove:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeMouseUp:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeBefForcedFlush:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeAfterForcedFlush:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtNonePending:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeWinOnAddonKeyMSG:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelQuit:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeQueryCancelSuspend:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeCancelQuit:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtCodeCancelSuspend:
case (short)Microsoft.Office.Interop.Visio.VisEventCodes.
visEvtApp + (short)Microsoft.Office.Interop.Visio.
VisEventCodes.visEvtIdle:
}