Preview Plugin

TECH TIP: Creating a Preview Plugin

Question: “I’ve followed the tutorials and registered a Preview Form replacement but that did not affect the TppDesigner’s Preview workspace.”

Answer: Do not use the form replacement, but rather, there is a different architecture built into the preview form that is registered by default.

You will need to register a TppPreview descendent.  The class you register is used to create the preview controls inside the standard print preview form and the designer preview workspace.

Here is an example of creating a simple custom preview that access the viewer its been assigned in order to change the page color.  You can also do more advanced operations such as adding and removing buttons and change the behavior of the preview form.  Access the inherited controls via. protected properties and override the virtual methods in order to customize behavior.

Open ppPreview.pas and view the TppPreview class as a guide to create a custom preview descendent.

unit MyPreviewPlugin;

interface

uses
  ppPreview;

type
  TMyPreviewPlugin = class(TppPreview)
    public
      procedure BeforePreview; override;

  end;


implementation

uses
  Graphics;


procedure TMyPreviewPlugin.BeforePreview;
begin
  inherited BeforePreview;

  Viewer.PageColor := clRed;

end;

initialization
  TppPreviewPlugIn.Register(TMyPreviewPlugin);

finalization
  TppPreviewPlugIn.UnRegister(TMyPreviewPlugin);

end.