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.
|
||
|
||
|
||
|
||
|