The information in this article applies to:
- Microsoft Visual FoxPro for Windows, versions 3.0 and 3.0b
SUMMARY
This article shows you how to make a builder that adds an instance of the
VCR class to your form allowing the user to customize it with the .ico
files that come with the Professional version of Visual FoxPro.
MORE INFORMATION
The following procedure creates a builder that uses a graphical option-
group control to allow the user to pick a navigation button style. After
the user selects a style, the builder creates an instance of the VCR class
on the form. The VCR class is in the Buttons.vcx file located in the
Vfp\Samples\Controls directory.
Make sure that you've completed a full installation of the Professional
edition before using the following procedure to create the builder.
Step-by-Step Procedure to Create the New Builder
- Type the following command in the Command window to create a form class,
and modify it in the Visual Class Designer:
CREATE CLASS navbutton AS form OF nvbuild.vcx
- Set the following properties for the class:
Property Value
---------------------------------------
BackColor 192,192,192
Height 250
Left 260
Top 144
Caption Navigation Button Builder
MinButton .F.
MaxButton .F.
Width 375
WindowType 1-Modal
- Add an OptionGroup control to the form, and set the following
properties:
Property Value
-------------------
ButtonCount 9
Height 148
Left 15
Top 17
Width 148
- From the properties sheet, select Option1, and set the following
properties. Repeat this step for Option2, Option3, Option4, Option5,
Option6, Option7, Option8 and Option9.
Property Value
------------------------
Caption
Style 1-Graphical
Height 44
Width 44
- From the properties sheet, select the following objects and set their
properties to the indicated value. All of the .ico files are located in
the Samples\Graphics\Icons\Arrows directory off the main Visual FoxPro
directory.
Property Value
------------------------
Option1
Left 5
Top 5
Picture arw01rt.ico
Option2
Left 52
Top 5
Picture arw03rt.ico
Option3
Left 99
Top 5
Picture arw06rt.ico
Option4
Left: 5
Top: 51
Picture arw02rt.ico
Option5
Left 52
Top 51
Picture: arw05rt.ico
Option6
Left 99
Top 51
Picture arw07rt.ico
Option7
Left 5
Top 98
Picture arw04rt.ico
Option8
Left 52
Top 98
Picture arw08rt.ico
Option9
Left 99
Top 98
Picture point04.ico
- Add a command button to the form, and set its caption to OK. Add the
following code to its Click event:
SET CLASSLIB TO SYS(2004)-"samples\controls\buttons.vcx" ADDITIVE
DO CASE
CASE THISFORM.OptionGroup1.Value = 1
THISFORM.Tag=SYS(2004)-"samples\graphics\ICONS\ARROWS\ARW01"
CASE THISFORM.OptionGroup1.Value = 2
THISFORM.Tag=SYS(2004)-"samples\graphics\ICONS\ARROWS\ARW03"
CASE THISFORM.OptionGroup1.Value = 3
THISFORM.Tag=SYS(2004)-"samples\graphics\ICONS\ARROWS\ARW06"
CASE THISFORM.OptionGroup1.Value = 4
THISFORM.Tag=SYS(2004)-"samples\graphics\ICONS\ARROWS\ARW02"
CASE THISFORM.OptionGroup1.Value = 5
THISFORM.Tag=SYS(2004)-"samples\graphics\ICONS\ARROWS\ARW05"
CASE THISFORM.OptionGroup1.Value = 6
THISFORM.Tag=SYS(2004)-"samples\graphics\ICONS\ARROWS\ARW07"
CASE THISFORM.OptionGroup1.Value = 7
THISFORM.Tag=SYS(2004)-"samples\graphics\ICONS\ARROWS\ARW04"
CASE THISFORM.OptionGroup1.Value = 8
THISFORM.Tag=SYS(2004)-"samples\graphics\ICONS\ARROWS\ARW08"
CASE THISFORM.OptionGroup1.Value = 9
THISFORM.Tag=SYS(2004)-"samples\graphics\ICONS\ARROWS\POINT"
ENDCASE
= ASELOBJ(aContainer,1)
aContainer[1].ADDOBJECT("Myvcr","vcr")
aContainer[1].Myvcr.Height=40
aContainer[1].Myvcr.Width=185
* Up button
aContainer[1].Myvcr.cmdTop.Height=40
aContainer[1].Myvcr.cmdTop.Width=40
aContainer[1].Myvcr.cmdTop.Caption=""
aContainer[1].Myvcr.cmdTop.picture = ThisForm.Tag- ;
IIF(RIGHT(ThisForm.Tag,5)="POINT","05","UP")-".ICO"
* Left button
aContainer[1].Myvcr.cmdPrior.Height=40
aContainer[1].Myvcr.cmdPrior.Width=40
aContainer[1].Myvcr.cmdPrior.Caption=""
aContainer[1].Myvcr.cmdPrior.picture = ThisForm.Tag- ;
IIF(RIGHT(ThisForm.Tag,5)="POINT","02","LT")-".ICO"
* Right button
aContainer[1].Myvcr.cmdNext.Height=40
aContainer[1].Myvcr.cmdNext.Width=40
aContainer[1].Myvcr.cmdNext.Caption=""
aContainer[1].Myvcr.cmdNext.picture = ThisForm.Tag- ;
IIF(RIGHT(ThisForm.Tag,5)="POINT","04","RT")-".ICO"
* Down button
aContainer[1].Myvcr.cmdBottom.Height=40
aContainer[1].Myvcr.cmdBottom.Width=40
aContainer[1].Myvcr.cmdBottom.Caption=""
aContainer[1].Myvcr.cmdBottom.picture = ThisForm.Tag- ;
IIF(RIGHT(ThisForm.Tag,5)="POINT","03","DN")-".ICO"
THISFORM.Release
- Add another command button to the form, and set its caption to Cancel.
Add the following command to its Click event:
THISFORM.Release
- Add the following command to the Init event of the form:
PARAMETERS uP1,uP2,uP3
- Save the class. To register this builder, add a new record to the
Builder.dbf table located in the Wizards directory, and enter the
following values into the appropriate fields:
NAME Navigation Button Builder
DESCRIPT Applies a set of customized navigation buttons onto a form
TYPE FORM
CLASSLIB NVBUILD.VCX
CLASSNAME NAVBUTTON
- Copy Nvzbuild.vcx and Nvbuild.vct to the Wizards directory.
Steps to Use the New Builder
To use the builder, create a new form, and then either:
- Right-click the form, and select Builder.
-or-
- Click the Builder icon in the Properties sheet.
To select your new builder, click Navigation Button Builder in the Builder
Selection dialog dialog box.
|