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
CacheSize
property. - [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
UseTempFile
property 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
CanvasPageNo
property is added. - [feature] To make conversion of units a bit easier,
BoundsFrom
,RectFrom
,PointFrom
,XFrom
, andYFrom
methods 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,
AutoFormName
property andOnAutoCustomForm
are obsolete and removed. Instead, useIsDummyFormName
property to know theFormName
property contains an actual form name or a temporary name. - [feature] To new methods for getting/setting properties from/to PageSetupDialog,
GetPageSetupParameters
andSetPageSeupParametrs
are added to PrintPreview control. - [feature] For getting system and user prefered measurement units
SystemDefaultUnits
andUserDefaultUnits
properties are added to PrintPreview control. - [feature] To mark printable area of the selected printer on the preview pages,
ShowPrintableArea
andPrintableAreaColor
properties are added to the PrintPreview control. - [feature] The
IsPaperCustom
andIsPaperRotated
propertis 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
AllowTransparentDIB
is declared. - [feature] The
OnStateChange
event added to the PrintPreview control. This event occurs wheneverState
property changes. By the way, the control has some new states now. - [feature] The
OnPaperChange
event added to the PrintPreview control. This event occurs whenever paper size or orientation changes. - [feature] Similar to
OnBackground
andOnAnnotation
events, two new events namedOnPrintBackground
andOnPrintAnnotation
are added. Using this events you can draw some other stuffs under or over the hard copied pages. - [feature] The new method
PrintPagesEx
added 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,
DrawPage
method 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
PreservePaperSize
property 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
OnMouseEnter
andOnMouseLeave
events are added to TPaperPreview control. - [change] The ThumbnailPreview control is rewitten from scratch. This version of control is derived from TCustomListView.
- [change] The
Margin
andOrientation
peroperties of the TThumbnailPreview control are removed. Instead useSpacingHorizontal
,SpacingVertical
, andIconOptions
properties. - [feature] You can now custom draw thumbnails on the TThumbnailPreview control. The
OnPageBeforeDraw
andOnPageAfterDraw
events 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
, andOnPageUnselect
events. - [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
AllowReorder
property enables/disables this function. - [change] The demo program (general) is updated.
- Finally, TThumbnailPreview and TPaperPreview controls are documented.
I use this component for studying