As shown in Figure 38, TCanvasView derives from TContentView and MToolHandler.
TCanvasView displays the current graphical state of the canvas representations (TContentView) and facilitates interaction associated with cursor tools (MToolHandler). It provides reasonable default implementations for many related functions. However, you do need to override the following functions:
EnumerateGraphics AdoptCurrentSelection SetCurrentSelection CopyCurrentSelection CreateEmptySelection AdoptAndDo DoBegin DoIncrement AdoptAndDoEnd
The TCanvasView HandleActivate and HandleDeactivate functions take the view from an active state to an inactive state, respectively. Derived classes can override these functions for a variety of reasons, such as activating and deactivating menus and palettes along with the view. Any implementation of these functions should begin by calling the parent implementations.