Home General
New Blog Posts: Merging Reports - Part 1 and Part 2

Any way to make the print-button in the built-in preview window invisible?

edited December 2001 in General
Preferibly something simple like:

procedure TfrmReports.ppReport1_PreviewFormCreate(Sender: TObject);
begin
if Sender.InheritsFrom(TppReport) then
if TppReport(Sender).PreviewForm <> nil then
TppReport(Sender).PreviewForm.btnPrint.Visible := False;
end;

--

Karin E. Hacker
khacker@computereng.com
Software Developer
Computer Engineering, Inc.
http://www.computereng.com

Comments

  • edited December 2001

    You would need to create a custom Preview Dialog or a custom Previewer.

    1. For custom Preview Dialog see ppPrvDlg.pas and see the article below.

    2. For custom Previewer see ppPreview.pas.


    ------------------------------------------------------------
    Tech Tip: Replacing Built-in Dialogs/Forms in ReportBuilder
    ------------------------------------------------------------

    ReportBuilder has an open architecture for replacing any of the built-in
    dialogs. You can replace any of the built-in dialogs by creating a new
    form that inherits from an abstract ancestor and then registering it as
    the new built-in dialog.

    For example to replace ReportBuilder's preview dialog you could

    1. Create a new Preview dialog by renaming ReportBuilder's default
    preview dialog, then doing a SaveAs to save it under another unit name.

    The default dialog resides in RBuilder\Source\ppPrvDlg.pas and the form
    is called ppPreviewDialog. You should assign your form a unique name,
    for example, myPreviewDlg, and save the unit to another name. Also save
    the unit to the directory where your other forms are stored (not
    RBuilder\Source).

    2. Make desired changes.

    You will notice that the preview dialog inherits from an ancestor
    TppCustomPreviewDialog - this ancestor resides in ppForms.pas (where all
    the abstract ancestor forms for ReportBuilder are defined).

    3. Register the new form.

    Declare an initializtion section at the bottom of the unit:

    initialization

    ppRegisterForm(TppCustomPreviewer, TmyPreviewDlg);


    4. Add the new unit to your project and compile.

    Now your preview dialog should be automatically created and destroyed by
    ReportBuilder. The two page preview dialog in the
    RBuilder\Demos\Reports\Demo.dpro was created this same way. The only
    difference is the ppRegisterForm call is in then OnClick event of the
    button.




    --
    Tech Support mailto:support@digital-metaphors.com
    Digital Metaphors http://www.digital-metaphors.com





    Best regards,

    Nard Moseley
    Digital Metaphors
    www.digital-metaphors.com
This discussion has been closed.