|
LINES
SAMPLE: Lines: OLE Automation Server that implements collections
LINES is an OLE Automation server application that implements collections.
LINES allows a collection on lines to be drawn on a pane using OLE Automation.
It exposes the following objects.
Application object:
Properties
Application
FullName
Name
Pane Returns the pane in the drawing window.
Parent
Visible
Methods
CreateLine Returns a newly created Line object with no start or end point.
CreatePoint Returns a newly created Point object initialized to (0,0).
Pane object: Properties
Lines Returns a collection of all of the Line objects in the drawing.
Points Returns a collection of all of the Point objects in the drawing.
MaxX Returns the maximum visible X coordinate value in twips.
MaxY Returns the maximum visible Y coordinate value in twips.
Methods
Clear Removes all of the Lines and Points from the drawing and
refreshes the client area. The result is a blank slate, as if the
application had just been launched.
Refresh Clears the drawing area and redraws each of the lines in the
Lines collection.
Line object:
Properties
Color An RGB color.
EndPoint A Point object inidcating the end point for the line.
StartPoint A Point object indicating the start point for the line.
Thickness A thickness, represented in twips.
Point object:
Properties
x
y
Lines collection: Standard collection properties and methods. Objects that
are added must be of type Line. Objects returned are of type Line.
Add and Remove cause redrawing of the pane.
Adding a line causes two points to be added to the Points collection.
Removing a line may cause one or more points to be removed from the points
collection.
Points collection:
Standard collection properties and methods. Objects returned are of type
Point.
This collection does not allow addition and removal of members.
The Points collection does not have duplicates. If there are two lines in the
drawing
which share an end point (x, y), (x, y) only appears in the collection once.
The sample the following features:
- Supports dual interfaces which allows access of automation properties and
methods through vtable binding and through IDispatch.
· Provides Rich Error information for vtable-binding controllers. This is does
by implementing ISupportErrorInfo and using IErrorInfo.
· Implements 2 collections. · Implements active object registration using
RegisterActiveObject and RevokeActiveObject. · Implements correct shut-down
behavior. · Includes a .reg file which contains Lines.Application as progID. · When
created for automation, is invisible initially.
To compile: -----------
Requires OLE 2.02 or later. Use the external makefile called makefile to
compile. In Win16, run the WXSRVER.EXE from \OLE2\BIN before running the makefile.
The makefile invokes mktyplib.exe that reads lines.odl and creates the type
library, lines.tlb. It then compliles the source files.
To run: -------
Change lines.reg to provide the full path of lines.exe and lines.tlb.
Register lines.reg in the registration database by double-clicking it. The VB
directory contains VB 3.0 files to control this sample. Load vb.mak into VB 3.0 and
run. This will launch and control LINES. VB 3.0 uses late binding (not
vtable-binding) to control LINES. A vtable-binding controller for LINES can be built along
the lines of the HELLCTRL sample.
Files: ------
LINES.ODL Object description language that describes the objects that LINES
exposes. TLB.H Header file generated by mktyplib.exe MAKEFILE Makefile
for project.
Other files implement the LINES automation server.
===========================================================================
Related LinksSoftware for Delphi and C++ Builder developers Software for Visual Studio .NET developers Software for Visual Basic 6 developers Delphi Tips&Tricks
MegaDetailed.NET
TMS Scripter Studio Pro components for Delphi/C++Builder
More Online Helps Win32 Programmer's Reference (win32.hlp) Win32 Multimedia Programmer's Reference (mmedia.hlp) Microsoft Windows Pen API Programmer's Reference (penapi.hlp) Microsoft Windows Sockets 2 Reference (sock2.hlp) Microsoft Windows Telephony API (TAPI) Programmer's Reference (sock2.hlp) Unix Manual Pages
|