The Print Preview Components v5.0 has been released. This is an upgrade release.
- [feature] Display rendering for PrintPreview, ThumbnailPreview, and PaperPreview controls are highly optimized.
- [feature] Before this version, the PrintPreview control was keeping only one single page on memory. Now, you can set the number of cached pages using the new
CacheSizeproperty. - [change] As of now, when there are more pages than cache size, the PrintPreview control uses only a temporary file (very optimum). Because of that
UseTempFileproperty is obselete and has been removed. - [feature] Besides editing a page, you can now insert new or replace an existing page. Deleting and reordering of pages is also possble. The methods for these actions are
BeginReplace,EndReplace,BeginInsert,EndInsert,Delete,Exchange, andMove. - [feature] To know at each time which page owns the PrentPreview canvas, the new
CanvasPageNoproperty is added. - [feature] To make conversion of units a bit easier,
BoundsFrom,RectFrom,PointFrom,XFrom, andYFrommethods are added. - [change] Because for adding a new printer form the user must have the required priviledge on Windows, the control no more automatically add or remove forms. As the result,
AutoFormNameproperty andOnAutoCustomFormare obsolete and removed. Instead, useIsDummyFormNameproperty to know theFormNameproperty contains an actual form name or a temporary name. - [feature] To new methods for getting/setting properties from/to PageSetupDialog,
GetPageSetupParametersandSetPageSeupParametrsare added to PrintPreview control. - [feature] For getting system and user prefered measurement units
SystemDefaultUnitsandUserDefaultUnitsproperties are added to PrintPreview control. - [feature] To mark printable area of the selected printer on the preview pages,
ShowPrintableAreaandPrintableAreaColorproperties are added to the PrintPreview control. - [feature] The
IsPaperCustomandIsPaperRotatedpropertis are added to the PrintPreview control. The first one determines whether a custom paper is in use or not, and the other one tells whether the paper orientation is landscape. - [feature] The preview page on the PrintPreview control can have a hint string different from the control’s one.
- [feature] To be able to allow/disallow image transparency for print at runtime, a global boolean variable named
AllowTransparentDIBis declared. - [feature] The
OnStateChangeevent added to the PrintPreview control. This event occurs wheneverStateproperty changes. By the way, the control has some new states now. - [feature] The
OnPaperChangeevent added to the PrintPreview control. This event occurs whenever paper size or orientation changes. - [feature] Similar to
OnBackgroundandOnAnnotationevents, two new events namedOnPrintBackgroundandOnPrintAnnotationare added. Using this events you can draw some other stuffs under or over the hard copied pages. - [feature] The new method
PrintPagesExadded to the PrintPreview control. This method allows you to print unordered and discrete list of pages. - [feature] To draw a preview page on any canvas,
DrawPagemethod is added to the PrintPreview control. - [feature] The PaperPreview control can be captioned now. The properties introduced for this purpose are
Caption, ShowCaption,Alignment, andWordWrap. - [feature] The
PreservePaperSizeproperty is added to the PaperPreview control. When one of paper parameters (e.g. PaperWidth, PaperHeight, ShadowSize, …) changes, this property defines which of page or control should be resized. - [feature] The
OnMouseEnterandOnMouseLeaveevents are added to TPaperPreview control. - [change] The ThumbnailPreview control is rewitten from scratch. This version of control is derived from TCustomListView.
- [change] The
MarginandOrientationperoperties of the TThumbnailPreview control are removed. Instead useSpacingHorizontal,SpacingVertical, andIconOptionsproperties. - [feature] You can now custom draw thumbnails on the TThumbnailPreview control. The
OnPageBeforeDrawandOnPageAfterDrawevents are added for these purpose. - [feature] Now, the thumbnails on TThumbnailPreview control can have a separate popup menu and hint (InfoTip) string.
- [feature] The TThumbnailPreview control is improved by adding
OnPageClick,OnPageDblClick,OnPageInfoTip,OnPageSelect, andOnPageUnselectevents. - [feature] The thumbnails in the TThumbnailPreview control can have their Grayscale behavior independent of the attached TPrintPreview control.
- [feature] Because the TThumbnailPreview control is actually a ListView control, you have multiselect option. For example, user can select some pages to print or delete selected pages.
- [feature] The thumbnails in the TThumbnailPreview control can be reordered using drag and drop operations. The new
AllowReorderproperty enables/disables this function. - [change] The demo program (general) is updated.
- Finally, TThumbnailPreview and TPaperPreview controls are documented.

I use this component for studying