32 lines
1.6 KiB
Plaintext
32 lines
1.6 KiB
Plaintext
|
Simpsvr
|
|||
|
--------
|
|||
|
This sample is the simplest OLE 2.0 object that can be written and
|
|||
|
still support the visual editing feature. The object that this server
|
|||
|
supports is a colored square with a black border.
|
|||
|
|
|||
|
See the MAKEFILE for compilation instructions.
|
|||
|
|
|||
|
|
|||
|
Simple Server Objects Overview
|
|||
|
------------------------------
|
|||
|
Simple server consists of three main objects. The top level is CSimpSvrApp,
|
|||
|
under which is CSimpSvrDoc, and the innermost level is CSimpSvrObj.CSimpSvrApp
|
|||
|
is used to hold all the main window information. (eg. handle to the main
|
|||
|
window, handles to the main, color, and help menus and the application
|
|||
|
instance) Therefore, CSimpSvrApp always exists as long as the simple server
|
|||
|
application is alive. The CSimpSvrApp instantiates the Class Factory, if
|
|||
|
simple server is started as embedding. (ie. started by OLE) The next level
|
|||
|
object is CSimpSvrDoc object. It is instantiated by the time CSimpSvrApp is
|
|||
|
created. It manipulates the document window and also the hatch window.
|
|||
|
(See OLE2UI for detail on the hatch window) The CSimpSvrObj, the innermost
|
|||
|
simple server object, shows six OLE interfaces implementations in its nested
|
|||
|
classes. The six OLE interfaces demonstrated are IOleObject, IPersistStorage,
|
|||
|
IDataObject,IOleInPlaceActiveObject,IOleInPlaceObject,and IExternalConnection.
|
|||
|
These six interfaces are implemented as different classes namely: COleObject,
|
|||
|
CPersistStorage, CDataObject, COleInPlaceActiveObject, COleInPlaceObject,
|
|||
|
and CExternalConnection. The CSimpSvrObj handles the drawing of the object
|
|||
|
and all the OLE connections between the container and the server.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|