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

Last reviewed: March 6, 1996
Article ID: Q147787
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

  1. 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

  2. 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
    
    

  3. Add an OptionGroup control to the form, and set the following properties:

       Property      Value
       -------------------
       ButtonCount     9
       Height        148
       Left           15
       Top            17
       Width         148
    
    

  4. 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
    
    

  5. 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
    
    

  6. 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
    
    

  7. Add another command button to the form, and set its caption to Cancel. Add the following command to its Click event:

    THISFORM.Release

  8. Add the following command to the Init event of the form:

    PARAMETERS uP1,uP2,uP3

  9. 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
    
    

  10. 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.


Additional reference words: 3.00 3.00b VFoxWin
KBCategory: kbtool kbhowto kbcode
KBSubcategory: FxtoolBuilder


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 6, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.