Any Workplace Shell object can be inserted into any container control created on the Workplace process using wpCnrInsertObject. When an object is inserted into a container via _wpCnrInsertObject, the Workplace Shell subclasses the owner of the container, and intercept some messages and notifications from the container. In this way, the Workplace Shell provides support that maps container records to their WPObject counterparts, and related behaviors. In other words, using the object's instance methods to insert an object into a container allows the object to inherit all of the Workplace Shell features, such as context menu, and Pickup and Drop operation.
Note: Since the Workplace Shell subclasses the container control's owner, you can only have ONE container control into which you are inserting objects per owner. This means you may have to expand your window hierarchy.
When a view is registered, the Workplace Shell subclasses the frame window. The Workplace Shell adds the viewed object's context menu to the system menu of the view. The Workplace Shell assumes that the container window has an ID of FID_CLIENT and that the container's owner is a frame window. This means that the container window is the client area of a frame window that was created with WinCreateStdWindow.
When a view of an object is opened, a USAGE_OPENVIEW item is added to the object's in-use list. The USAGE_OPENVIEW items are used to automatically switch to the open view when the user chooses to open the same view again. This behavior is controlled by wpOpen or wpSwitchTo. For more detail on the USAGE_OPENVIEW item, see Object Usage: Usage Methods.