Microsoft KB Archive/147787

= How to Make a Builder that Adds a Custom VCR Control to a Form =

Article ID: 147787

Article Last Modified on 9/30/2003

-

APPLIES TO


 * Microsoft Visual FoxPro 3.0 Standard Edition
 * Microsoft Visual FoxPro 3.0b Standard Edition

-



This article was previously published under Q147787



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. <pre class="fixed_text">  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 </li>  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 </li>  Add another command button to the form, and set its caption to Cancel. Add the following command to its Click event: THISFORM.Release </li>  Add the following command to the Init event of the form: PARAMETERS uP1,uP2,uP3 </li>  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: <pre class="fixed_text">  NAME       Navigation Button Builder DESCRIPT  Applies a set of customized navigation buttons onto a form TYPE      FORM CLASSLIB  NVBUILD.VCX CLASSNAME NAVBUTTON </li> Copy Nvzbuild.vcx and Nvbuild.vct to the Wizards directory.</li></ol>

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.

Additional query words: VFoxWin

Keywords: kbcode KB147787

-

[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]

© Microsoft Corporation. All rights reserved.