Objective Toolkit : Chapter 22 Docking Views : Issues when Docking a CView
Issues when Docking a CView
You cannot dock CViews using the SECControlBar as a parent. Instead, you need to build a docking views architecture over the extended docking windows architecture to accomplish this. The reasons are as follows:
MFC assumes that a CView has a CFrameWnd parent. This assumption permits no other type of parent.
The control bar architecture is unaware of the document/view architecture of which a CView is an integral part. You can attach a CView to a document, but the document template cannot be involved in the creation or initialization of the document, view, or parent window. Because the document was not created through standard processes, the document manager does not know it exists. This can cause problems during shutdown.
A control bar cannot receive focus or become the active window. Control bars are intentionally designed to remain inactive and without focus at all times, whereas CViews are designed to be active and receive focus. This conflict of interest manifests itself in many strange ways — mostly focus anomalies.