Click to open or copy the ToDoServer project files.
Click to open or copy the Include project files (required).
ToDoSvr is a simple example of a combination OLE Control and Document Object server based on the OLE Controls Framework sample code. Generic extensions to the framework, which would apply to any Document Object server, are contained in the class CDocumentObject, which is defined in cdocobj.h. Any code that is specific to making ToDoSvr act as a Document Object is marked with a comment containing the word DOCOBJ.
ToDoSvr depends on the FrameWrk sample, which you must build first. To build a debug version of the framework library, use the command line nmake from the FrameWrk directory. To build a retail version of the framework, use the command line nmake nodebug=1 from the FrameWrk directory. Libraries are placed in the ..\Lib directory.
In its current state, ToDoSvr shows nothing more than the minimal amount of code required to act as a Document Object from within Office Binder. It does not manage any data and it doesn't display anything.
In its completed form, ToDoSvr is a simple to-do list manager that can act as a Document Object within any Document Object container. ToDoSvr exposes a simple object model which lets you manage to-do information via OLE automation. In addition to providing hyperlinks to documents you are working on, ToDoSvr objects act as hyperlink targets, so that you can easily jump to particular tasks.
This sample demonstrates the following keywords:
_purecall; activateasdocobject; activateme; addref; addref_object; applyviewstate; assert; baseclass; callwindowproc; caninplaceactivate; cdocumentobject; checkforlicense; checklicensekey; cleanup_on_error; clone; closeview; clsidofobject; cpropertypage; create; createinplacewindow; createview; ctodocontrol; ctodogeneralpage; declare_standard_unknown; defaultextidofdocobject; define_docobject; define_guid; define_propertypageobject; dialogproc; do_guids_match; docobject; dosuperclasspaint; doverb; enumviews; fail; failed; filedescriptionidofdocobject; firstcontrol; getclassinfo; getdocmiscstatus; getdocument; getinplacesite; getlicensekey; getrect; getresourcehandle; getwindow; getwindowcontext; initializelibrary; inplacedeactivate; internalqueryinterface; load; loadstring; lparam; lstrcat; lstrcpy; lstrlen; makelcid; memset; messagebox; miscflagsofdocobject; modaldialog; nameofobject; nextcontrol; onapplyviewstate; oninplaceactivate; onsaveviewstate; onuiactivate; open; outputdebugstring; printofdocobject; privateunknown; propertypage; proppageexception; queryinterface; quick_release; regclosekey; regcreatekeyex; registerclass; registerclassdata; registerdata; registerdocobject; regopenkeyex; regsetvalueex; release; release_object; saveviewstate; setactiveobject; setborderspace; setclientsite; setextent; setfocus; setinplacesite; setinplacevisible; setobjectrects; setrect; setrectcomplex; setwindowpos; show; stdmethod; stringfromguida; subclasswndprocofcontrol; succeeded; sysallocstring; trace; uiactivate; uideactivate; unadvise; uninitializelibrary; unregisterdata; warning; wndclassnameofcontrol; wsprintf;