STOCLIEN.TXT
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:5k
源码类别:

Windows编程

开发平台:

Visual C++

  1. STOCLIEN - Client of structured storage server
  2. SUMMARY
  3. =======
  4. The STOCLIEN sample introduces a simple drawing application. The user can
  5. use a mouse or tablet device to do free-form drawing in the client window.
  6. The color and width of the electronic ink can be chosen, and the drawings
  7. can be saved in files.
  8. The functionality is externally similar to other "scribble" C++ tutorial
  9. samples. The difference in the STOCLIEN/STOSERVE samples is an internal
  10. architecture based on COM technology. A clear architectural distinction is
  11. kept between COM client and COM server. A COPaper COM object encapsulates
  12. only the server-based storage of the drawing paper data: No graphical user
  13. interface (GUI) behavior is provided on the server side. All GUI behavior
  14. is isolated in the client. The data managment and storage features of
  15. COPaper objects are available only through an COM custom interface,
  16. IPaper.
  17. STOCLIEN can load and save its drawings in the structured storage of COM
  18. compound files. The principal focus of the STOCLIEN sample is how the
  19. client uses this structured storage and how it directs a server component
  20. to use this storage. The programming of structured storage services is
  21. shown in the sample.
  22. The STOCLIEN sample creates and uses the connectable COPaper COM object
  23. that is provided as the CLSID_DllPaper component in the STOSERVE server.
  24. The STOCLIEN client creates a COPaper object and controls it through the
  25. IPaper interface that the object exposes. STOCLIEN obtains drawing data
  26. from the user and graphically represents it in a window that it manages.
  27. STOCLIEN uses COPaper's IPaper interface to save the drawing data in
  28. COPaper and to direct file storage operations on this data.
  29. STOCLIEN cooperates with the COPaper to load and save COPaper's drawing
  30. data. STOCLIEN obtains an IStorage interface for the storage object in a
  31. compound file. In its load and save operations, STOCLIEN passes a pointer
  32. to this IStorage interface to COPaper in the server. COPaper uses the
  33. provided IStorage to create streams in the storage. COPaper can then use
  34. the standard IStream interface for reading and writing the drawing data it
  35. manages.
  36. COPaper only manages the drawing data; it performs no GUI actions.
  37. STOCLIEN provides the GUI for the drawing application. It encapsulates
  38. this in a central CGuiPaper C++ object.
  39. STOCLIEN also implements the custom IPaperSink interface in a COPaperSink
  40. COM object and connects this interface to an appropriate connection point
  41. in the server's COPaper object. COPaper uses the connected IPaperSink
  42. interface to send notifications back to STOCLIEN. The normal GUI
  43. repainting of COPaper's drawing data is done in STOCLIEN using COPaper's
  44. connectable object technology.
  45. For functional descriptions and a tutorial code tour of STOCLIEN, see the
  46. Code Tour section in STOCLIEN.HTM. For details on the external user
  47. operation of STOCLIEN, see both the Usage and Operation sections in
  48. STOCLIEN.HTM. To read STOCLIEN.HTM, run TUTORIAL.EXE in the main tutorial
  49. directory and click the STOCLIEN lesson in the table of lessons. You can
  50. also achieve the same thing by clicking the STOCLIEN.HTM file after
  51. locating the main tutorial directory in the Windows Explorer. See also
  52. STOSERVE.HTM in the main tutorial directory for more details on how
  53. STOSERVE works and exposes its services to STOCLIEN. You must build the
  54. STOSERVE DLL before building STOCLIEN. The makefile for STOSERVE
  55. automatically registers that server in the system registry, so you must
  56. build STOSERVE before attempting to run STOCLIEN.
  57. For details on setting up your system to build and test the code samples
  58. in this COM Tutorial series, see TUTORIAL.HTM. The supplied MAKEFILE is
  59. Microsoft NMAKE-compatible. To create a debug build, issue the NMAKE
  60. command in the Command Prompt window.
  61. Usage
  62. -----
  63. STOCLIEN is an application that you can execute directly from Windows in
  64. the normal manner or from the Command Prompt window. STOCLIEN accepts an
  65. optional file name parameter on the command line. For example:
  66.   STOCLIEN c:drawingsdrawing.pap
  67. Where drawing.pap is a compound file containing DllPaper-compatible
  68. structured storage of drawing data. If no command line file name parameter
  69. is specified, STOCLIEN uses the default file name STOCLIEN.PAP and
  70. attempts to open it in the same directory as the executing STOCLIEN.EXE.
  71. FILES
  72. =====
  73. Files          Description
  74. STOCLIEN.TXT   This file.
  75. MAKEFILE       The generic makefile for building the code sample
  76.                application of this tutorial lesson.
  77. STOCLIEN.H     The include file for the STOCLIEN application. Contains
  78.                class declarations, function prototypes, and resource
  79.                identifiers.
  80. STOCLIEN.CPP   The main implementation file for STOCLIEN.EXE. Has WinMain
  81.                and CMainWindow implementation, as well as the main menu
  82.                dispatching.
  83. STOCLIEN.RC    The application resource definition file.
  84. STOCLIEN.ICO   The application icon resource.
  85. STOCLIEN.PAP   A default paper drawing file for the application.
  86. PENCIL.CUR     A pencil image for the client window cursor.
  87. SINK.H         The class declaration for the COPaperSink COM object class.
  88. SINK.CPP       Implementation file for the COPaperSink COM object class.
  89. PAPFILE.H      The class declaration for the CPapFile C++ class.
  90. PAPFILE.CPP    Implementation file for the CPapFile C++ class.
  91. GUIPAPER.H     The class declaration for the CGuiPaper C++ class.
  92. GUIPAPER.CPP   Implementation file for the CGuiPaper C++ class.