Answer
** Internal Publish Only! This article may contain information that is not intended for external circulation. **
Implementing a custom View is a complex undertaking. The documentation offers no examples but suggests it can be done. Sp-Arcobjects (7/30/03) yielded no replies when queried for any type of details.
There is an existing bug/enhancement requesting either:
a) the removal of all mention of the possibility of implementing a custom View in help
b) provide notes stressing the difficulty of the implementation
c) provide detailed steps and/or examples for performing the implementation
The bug/enhancement is:CQ00190699
Until that time the below high level steps will provide an idea of what needs to be accomplished to create a custom View.
1. Provide an implementation for the same interfaces that the Map and
PageLayout implement. These include:
IActiveView
IActiveViewEvents
IDisplayAdmin
ITransformEvents
IViewManager
IPersistStream
IGraphicsContainer
IGraphicsContainerSelect
2. Provide an implementation of the following to create a command for the
view.
ICommand
IViewCommand
ISmallBitmapProvider
3:The Screendisplay caching must be implemented or one must be created. The same is true for the DisplayTransformation object.
IConnectionPointContainer
IDisplay
IDraw
IScreenDisplay
IScreenDisplay2
ITransformEvents
4. A Graphics container must also be implemented to store and manage graphics when they are required.
The implementation of a custom View involves about the same complexity as creating a custom WorkSpaceFactory. Both require implementing not
only one, but many interfaces and internal objects. The system expects certain return
values and objects from members (ie. the layout tool), and if the correct implementation isn't provided, it will likely crash.
This type if implementation is possible, but not without an
intricate understanding of the internal implementation of ArcGIS, and
more than likely, access to the proprietary source code. This is
something beyond the scope of what the DSG can provide.