------------------------------------------------------------ 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:
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.
Comments
------------------------------------------------------------
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.
--------------------------