How to Use the Name Argument of an @...GET in Visual FoxPro

Last reviewed: September 20, 1996
Article ID: Q138780
The information in this article applies to:
  • Microsoft Visual FoxPro for Windows, version 3.0

SUMMARY

Visual FoxPro's Online Help for Controls and Objects states:

   In Visual FoxPro, a NAME clause has been added to each of the controls
   created in previous FoxPro versions. The NAME clause creates an object
   reference for controls created with @ ... GET and @ ... EDIT, allowing
   you to manipulate the controls with Visual FoxPro properties, events,
   and methods. The NAME clause provides an intermediate step to upgrade
   your applications using Visual FoxPro object-oriented programming
   techniques.

But it does not provide an example. This article will show how to incorporate the NAME clause into a program with @...GETs.

MORE INFORMATION

When using the NAME clause, you can run the control's default methods and events, but you will not be able to write new code for any of methods or events. The only exception is for the WHEN and VALID events because the WHEN and VALID are clauses of the @...GET command. You are able to assign values to any of the objects Properties at runtime.

An important point to remember is that Visual FoxPro creates a PageFrame and a Page to handle the READ level for any @...GET commands in a FoxPro 2.6 program. The page and its controls become active at the READ and terminate when the READ terminates.

For more information on converting to Visual FoxPro see 'Converting from FoxPro 2.6' under Getting Started in the Using Visual FoxPro section of online Help.

Sample Code Showing How to Use the NAME Clause

DEFINE WINDOW mywin NAME MyWin;

   FROM 1,1 TO 30,50 ;
   FLOAT ;
   NOCLOSE ;
   MINIMIZE ;
   SYSTEM
ACTIVATE WINDOW mywin

@ 3,5 GET a NAME Text1;

   SIZE 1.4,15;
   DEFAULT SPACE(15);
   PICTURE "@K"
@ 3,25 GET b NAME Text2;
   SIZE 1.4,15;
   DEFAULT SPACE(15);
   PICTURE "@K"
@ 10,5 GET x Name Button1;
   PICTURE "@*HN Button 1" ;
   SIZE 2,10 ;
   DEFAULT 1 ;
   STYLE "B" ;
   VALID Validx()
@ 10,25 GET y NAME Button2;
   PICTURE "@*HN Button 2" ;
   SIZE 2,10 ;
   DEFAULT 1 ;
   STYLE "B" ;
   VALID Validy()
@ 20,15 GET z NAME Button3;
   PICTURE "@*HN Close" ;
   SIZE 2,10 ;
   DEFAULT 1 ;
   STYLE "B" ;
   VALID Validz()

** The next four lines of code give the @...GETs for the text boxes ** a 3D look. MyWin.PageFrame1.Page1.Text1.SpecialEffect = 0 MyWin.PageFrame1.Page1.Text2.SpecialEffect = 0 MyWin.PageFrame1.Page1.Text1.BorderStyle = 1 MyWin.PageFrame1.Page1.Text2.BorderStyle = 1 MyWin.Refresh() MyWin.Caption = "Window Caption" && Sets the Title Bar Caption MyWin.PageFrame1.Page1.Text1.Value = "Press Button 1" ** The buttons become part of a command group. The next line of ** code sets the focus to Button1. MyWin.PageFrame1.Page1.Button1.Command1.SetFocus()

READ CYCLE RELEASE WINDOW mywin

FUNCTION Validx    &&  x VALID
   ** Changes the values of the text boxes and the captions
   ** of the command buttons.
   MyWin.PageFrame1.Page1.Text1.Value = "Thank You"
   MyWin.PageFrame1.Page1.Text2.Value = "Press Button 2"
   MyWin.PageFrame1.Page1.Button1.Command1.Caption = "Press 2"
   MyWin.PageFrame1.Page1.Button2.Command1.Caption = "Button 2"

FUNCTION Validy    &&  y VALID
   ** Changes the values of the text boxes and the captions
   ** of the command buttons.
   MyWin.PageFrame1.Page1.Text1.Value = "Press Button 1"
   MyWin.PageFrame1.Page1.Text2.Value = "Thank You"
   MyWin.PageFrame1.Page1.Button1.Command1.Caption = "Button 1"
   MyWin.PageFrame1.Page1.Button2.Command1.Caption = "Press 1"

FUNCTION Validz   && z VALID
   CLEAR READ


Additional reference words: 3.00 VFoxWin
KBCategory: kbprg kbhowto kbcode
KBSubcategory: FxprgGeneral


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: September 20, 1996
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.