home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / msdn_vcb / samples / vc98 / sdk / com / oleaut / lines / readme.txt < prev    next >
Text File  |  1997-03-18  |  5KB  |  148 lines

  1. OLE Automation Server that Implements Collections
  2.  
  3.  
  4. SUMMARY
  5. =======
  6.  
  7. The LINES sample is an OLE Automation server application that implements 
  8. collections. LINES allows a collection on lines to be drawn on a pane using 
  9. OLE Automation. It exposes the following objects:
  10.  
  11. Application object
  12.     Properties
  13.         Application
  14.         FullName
  15.         Name
  16.         Pane (Returns the pane in the drawing window)
  17.         Parent
  18.         Visible
  19.     Methods
  20.         CreateLine (Returns a new Line object with no start point or 
  21.           endpoint)
  22.         CreatePoint (Returns a new Point object initialized to (0,0))
  23.  
  24. Pane object
  25.     Properties
  26.         Lines (Returns a collection of all Line objects in the drawing)
  27.         Points (Returns a collection of all Point objects in the drawing)
  28.         MaxX (Returns the maximum visible X-coordinate value, in twips)
  29.         MaxY (Returns the maximum visible Y-coordinate value, in twips)
  30.     Methods
  31.         Clear (Removes all Lines and Points from the drawing and refreshes 
  32.                 the client area. It is as if the application had just 
  33.                 started)
  34.         Refresh (Clears the drawing and redraws each line in the collection)
  35.  
  36. Line object
  37.     Properties
  38.         Color (An RGB color)
  39.         EndPoint (A Point object indicating the endpoint for the line)
  40.         StartPoint (A Point object indicating the start point for the line)
  41.         Thickness (A thickness, in twips)
  42.  
  43. Point object
  44.     Properties
  45.         x
  46.         y
  47.  
  48. Lines collection
  49.  
  50.   - Standard collection properties and methods. Objects that are added must 
  51.     be of type Line. 
  52.   - Objects returned are of type Line.
  53.   - Add and Remove cause redrawing of the pane.
  54.   - Adding a line causes two points to be added to the Points collection. 
  55.   - Removing a line can cause one or more points to be removed from the 
  56.     points collection.
  57.  
  58. Points collection
  59.  
  60.   - Standard collection properties and methods. Objects returned are of type 
  61.     Point.
  62.   - This collection does not allow addition and removal of members.
  63.   - The Points collection does not have duplicates. If there are two lines 
  64.     in the drawing that share an endpoint (x, y), (x, y) appears in the 
  65.     collection only once.
  66.  
  67. MORE INFORMATION
  68. ================
  69.  
  70. This sample implements the following features:
  71.  
  72.   - Dual interfaces that allow access to automation properties and methods 
  73.     through vtable binding and through IDispatch. 
  74.   - Rich Error information for vtable-binding controllers. This is done by 
  75.     implementing ISupportErrorInfo and using IErrorInfo.
  76.   - Two collections.
  77.   - Active object registration, using RegisterActiveObject and 
  78.     RevokeActiveObject. 
  79.   - Correct shutdown behavior. 
  80.   - A registry file that contains Lines.Application as progID.
  81.   - Initial invisibility.
  82.  
  83.  
  84. To compile:
  85. -----------
  86.  
  87. To compile an ANSI debug version of the sample for Windows NT and Windows 95,
  88. use the following command:
  89.  
  90.    nmake
  91.  
  92. To compile a Unicode debug version of the sample for Windows NT only, use the
  93. following command:
  94.  
  95.    nmake dev=win32 HOST=NT
  96.  
  97. To compile a 16-bit debug version of the sample and if your development
  98. environment is Win 3.x, use the following command. If your development
  99. environment is Win95 or NT, change the HOST appropriately.
  100.  
  101.    nmake dev=win16 HOST=DOS
  102.  
  103. Also modify the .REG file to use 16 bit version of the keys. For example
  104. use LocalServer instead of LocalServer32.
  105.  
  106. To clean up between builds which use different options, use one of the
  107. following commands:
  108.  
  109.    nmake clean
  110.    nmake dev=win16 clean
  111.  
  112. See the makefile header comments for other make options.
  113.  
  114. If one of the build tools cannot find SDKUTIL.LIB, use the SAMPLES\COM\COMMON
  115. sample to build SDKUTIL.LIB.
  116.  
  117. Visual C++ 2.x and above can use makefile as an external makefile 
  118. after making the following replacement in the makefile:
  119.  
  120.    !include <$(MSTOOLS)\samples\com\include\olesampl.mak>
  121.  
  122. with
  123.  
  124.    !include <win32.mak>
  125.  
  126.  
  127. To run:
  128. -------
  129.  
  130. Change LINES.REG to provide the full path of LINES.EXE and LINES.TLB.
  131. Register lines.reg in the registration database by double-clicking it.
  132.  
  133. The VB 4.0 files vb.frm & vb.vbp in this directory will control the sample. 
  134. Load vb.vbp into VB 4.0, reference the lines type library using
  135. VB's Tools/References menu and run. This will launch and control LINES. 
  136.  
  137. Files
  138. ------
  139.  
  140. LINES.ODL  Object description language that describes the objects LINES
  141. exposes.
  142.  
  143. TLB.H  Header file generated by mktyplib.exe
  144.  
  145. MAKEFILE  Makefile for project.
  146.  
  147. Other files implement the LINES automation server.
  148.