                     Print Preview Component
                   v1.04     October 22, 1995
                                
 Adds *easy* Print Preview capability to any Delphi Application


Print Preview supports:
       -  Zoom from 10% to 5000%
       -  Zoom tool allows zoom in/out on a specific location
       -  Hand tool allows easy panning across the page
       -  One Page or Two Page displays
       -  Portrait or Landscape page orientation
       -   Printing  Status display with CANCEL  and  cooperative
       multi-tasking
       -  Tool Tips & Hints for iconic buttons
       -  Status bar displays page, zoom level, and hints
       -  Customizable Grid verifies margins & layout
       -   Page  Navigation buttons go to first, previous,  next,
       last page, or by number.

Programmer Benefits:
       -  One set of routines for Printing & Previewing
       -   Supports  all TCanvas routines (except  for  PenPos  &
       Pixels)
       -    Built-in  routines  eliminate  round-off  errors  for
       pagination
       -  Automatically clips non printable area on Preview
       -    Returns  the  true  physical  page  size  (not   just
       printable area)
       -   Returns  all printer info (page size, printable  area,
       pixels/inch, etc)
       -  Conversion routines for inches to printer units
       -  All Preview Screen scaling performed automatically
       -   Programmer can implement Exception Handling  to  catch
       Print Preview Errors
       -  Simple & Advanced print pagination is supported
       -  Customizable Preview Form
          -Show/hide buttons
          -Change the title
          -Select min, max, and step for Zooming
          -Set initial settings

Fully functional - not crippled in any way

The unregistered version of this component has an "About" box  on
the  Preview  screen that indicates the component  has  not  been
registered.


Installation

1. Copy  the  files PREVCOMP.DCU, PREVCOMP.DCR, *.DFM, and  *.RES
   to your DELPHI\LIB directory.
2. From  the "Options" Menu, select "Install Components".   Press
   the  "Add"  button, and then the "Browse" button.  Go  to  the
   LIB  directory,  and  select UNIT file  types  (*.dcu).   Then
   select  PREVCOMP.DCU and press "OK".  Then press "OK" for  the
   Install Components dialog box.
3. When  Delphi  is done compiling there will be a new  component
   in your "Samples" palette called PrintPreview.

Testing the Print Preview Component

A  sample  project is already provided.  Open the project  called
TESTPREV.DPR  and  run  it.  Note:  you must  install  the  Print
Preview component before opening and running the test project.

When  the  program  starts, you are given four page  tab  control
(Text,  Table,  Graphics, and MultiPage).  Select each  page  and
press  the Print Preview button to view the demo.  You may change
some of the options for each of the examples.

Once  inside  the Print Preview screen, you can zoom  in  or  out
(with the buttons or by clicking with the mouse).  The Hand  tool
can  be  used to move the page around (only if it is larger  than
the screen).  You can select a one page or two page view.  In the
MultiPage  example,  you can advance to the next  page,  or  move
back.

Advanced

To  use  the Print Preview component in your own projects, simply
drop  the component on your form.  Then register the three events
(Begin  Print, End Print, and Print Page) with your own routines.
Refer  to  the  Test project sample code, or to the  PRNTPREV.INT
file  for  technical details on interfacing with  the  component.
The  sample project code shows 90% of what can be done  with  the
component.

Important  Note:  Any file that uses the Print Preview  component
MUST add "PREVTYPE" to the USES clause.


Shareware Registration

This component is shareware, and is distributed to be used for  a
limited  trial  period  of 30 days.  You are  free  to  copy  and
distribute  this software in unmodified form.  After the  30  day
period  the  software should be registered or  removed  from  the
user's  system.   If  the  component  is  to  be  included  in  a
commercial  or  government application,  it  must  be  registered
(i.e., paid for).

The   registered  version  of  the  component  offers  additional
benefits:  1) the ability to hide the "About" box on the  Preview
screen,  or replacing it with your own custom button & procedure;
2)  technical  support  via email or  phone  (you  pay  the  long
distance  though);  and  3)  the complete  source  code  for  the
component.


Pricing and Ordering Information

Registering  Print Preview is U.S. $20.  This provides  you  with
the source code to Print Preview, and technical support for using
Print Preview.  Note that support is only provided for unmodified
version  of the source code.  If you have email I can just  email
you the registered component (and source code).

Send a check or money order to:
     Print Preview Component Software
     Care of:  Ben Ziegler
     210 E. Fairfax St #624
     Falls Church, VA  22046

Make  checks payable to "Ben Ziegler."  When you register I  will
send you my phone number for technical support.  Note that I  can
only take calls after work.

Compuserve Registration - GO SWREG account #7957 ($20).   If  you
need a disk mailed outside of the United States, an additional $5
will  be  charged.   However,  if  you  want  it  mailed  through
Compuserve, simply choose "United States" so as not to be charged
the additional $5.  Also note, that even though SWREG may display
an older version of Print Preview, I will send you the most up-to-
date version.


Where to Obtain the latest Version of Print Preview

I  upload  the lateset version to Compuserve (GO DELPHI,  Library
"VCL") and to the Delphi Super Page on the World Wide Web (URL  =
http://sunsite.icm.edu.pl/~robert/delphi/).   When  you  register
the software you will always receive the latest version.


Questions, Comments, and Suggestions

I'd  love to hear any questions, comments, or suggestions you may
have (and yes, even bug reports).  I can also be reached on email
at benz23@aol.com.


Thanks for trying my Print Preview component!
-Ben


Revision History

Version 1.00
   Released Sept 23, 1995

Version 1.01
   Released Sept 25, 1995
   Bug  Fix:   Added *.DFM and *.RES files so could  install  the
   component

Version 1.02
   Released October 9, 1995
   Bug  Fix:   Fixed a serious memory (GDI) leak.  TspecialCanvas
   destructor now declared as "override" (as it should be!)
   Documentation changed to Word for Windows 6.0 format
   Print Preview Types now moved to PREVTYPE.DCU
   Source Code now free with registration
   Preview Component now named PREVCOMP instead of PRNTPREV

Version 1.03
   Released October 12, 1995
   Added SWREG information for Compuserve

Version 1.04
   Released October 22, 1995
   Renamed  ABOUT.PAS  to  PVABOUT.PAS for  less  conflicts  with
   other programs
   Fixed  bug  for  printer  drivers  with  X  resolution  <>   Y
   resolution
   Added Xcm and Ycm functions for Metric support
   Added  a  button bar on the status panel to move to the  first
   page,  previous page, next page, last page, or to any page  by
   number.
   Added  a  $DEFINE  Registered to easily remove  the  shareware
   About box
   Improved  the  accuracy  of  text  on  the  screen.   Added  a
   TspecialCanvas function called TextOutFast that is faster  but
   less accurate.
   Added  a  read-only  CanvasMode property to TSpecialCanvas  so
   that the print routines can know where they are printing too.
   Added   a  new  CanvasMode  called  cmPaginate.   This   makes
   pagination much simpler since the routine can expect to  never
   receive a page that is more than 1 greater than the last  page
   (but  still  must  be  prepared to go pack  to  print  earlier
   pages).   When in this mode, output is sent to "nowhere,"  but
   TextWidth information, etc is still called from the Printer.
   Added pagination status to the Preview form.

