Customizing & Extending

Main Application

When FoxPro is installed, the system memory variables _Wizard and _Builder are initialized to point to the applications that act as the main controllers for all Wizard and Builder requests, WIZARD.APP and BUILDER.APP. With one exception (discussed later), all requests for a Wizard or Builder are handled by these applications. You could write your own applications to handle these requests; however, it is not recommended.

Registration

Both WIZARD.APP and BUILDER.APP use registration tables located in the \VFP\WIZARDS directory to determine which tool to run. You can add your custom Wizard or Builder to this table.

Wizard.dbf

Name

Descript

Bitmap

Type

Program

Classlib

Classname

Parms

Form Wizard

Memo

FORM

Memo

Memo

Memo

Memo

Import Wizard

Memo

IMPORT

Memo

Memo

Memo

Memo

One to Many Form Wizard

Memo

FORM

Memo

Memo

Memo

Memo

PivotTable™ Wizard

Memo

PIVOT

Memo

Memo

Memo

Memo

...


Each record in this table is a Wizard. The entry in the Name column is the text that appears in the Wizard selection dialog box. The entry in the Type column determines when that Wizard is included. For example, both the Form Wizard and One to Many Form Wizard are included in the Wizard selection dialog box, when the users chooses to create a new form from the Project container; they create a type of "FORM". After making a selection, WIZARD.APP runs the program specified in the Program column. This entry can include a path statement; the program does not have to be in the Wizard directory. If the program field is blank, WIZARD.APP will create a class specified in Classlib and Classname. The Parms column can be used to send parameters to the Wizard when it is executed. Both the Report and Group/Total Report Wizards in WZREPORT.APP use any specified parameters. When the user selects the Report Wizard, the parameter "Report" is passed to WZREPORT.APP. When Group/Total report is selected, "Group" is passed to WZREPORT.APP.

Customization of Wizard Output

Users can customize the styles and base classes used by the Form Wizard and Form Builder (Quick Form) or add their own. Each object is based on classes in a single library, WIZSTYLE.VCX providing one location for users to modify new or existing objects created with the Form Wizard or Form Builder. You can use these classes to add controls to Form Builder with the Form Wizard if you want those new controls to match the style used by the Wizard.