Compartir a través de


ASELOBJ( ) (Función)

Incluye en una matriz de variables las referencias de objeto a los controles seleccionados actualmente en el Diseñador de formularios activo.

ASELOBJ(ArrayName, [1 | 2])

Valores devueltos

Numeric

Parámetros

  • ArrayName
    Especifica el nombre de la matriz que contiene las referencias de objetos de los controles seleccionados actualmente. Si la matriz que especifica no existe, Visual FoxPro la creará automáticamente. Si la matriz existe y no es suficientemente grande para contener toda la información de los controles, Visual FoxPro aumentará automáticamente el tamaño de la misma para dar cabida a la información. Si la matriz es mayor de lo necesario, Visual FoxPro reducirá su tamaño. Si la matriz existe y ASELOBJ( ) devuelve 0 porque no hay ningún control seleccionado en este momento, la matriz permanecerá inalterada. Si la matriz no existe y ASELOBJ( ) devuelve 0, la matriz no se creará.
  • 1
    Crea una matriz de un elemento con una referencia de objeto al contenedor para el control seleccionado actualmente. Por ejemplo, si el control seleccionado es un control numérico de un formulario, la matriz contendrá un elemento con el valor "FORM". Incluya 1 al ejecutar ASELOBJ( ) desde la ventana Comandos. Observe que, si hay seleccionado un marco de página, ASELOBJ( ) devuelve el nombre de la página actual.
  • 2
    Especifica que Visual FoxPro crea una matriz de un elemento con una referencia al objeto DataEnvironment para el formulario. El objeto DataEnvironment permite determinar las propiedades del entorno de datos para el formulario.

Observaciones

ASELOBJ( ) crea una matriz de una dimensión con referencias de objetos a los controles seleccionados actualmente en el Diseñador de formularios activo y devuelve el número de controles seleccionados actualmente. Si no hay ningún control seleccionado y el argumento opcional 1 se omite, ASELOBJ( ) devolverá 0 y no se creará la matriz. ASELOBJ( ) no reconoce al formulario como el control seleccionado si no hay controles en el formulario. Si actualmente no hay ningún control seleccionado y se incluye el argumento opcional 1, ASELOBJ( ) devolverá 1.

Puede utilizar ASELOBJ( ) para crear sus propios generadores de controles.

Ejemplo

Antes de ejecutar el ejemplo siguiente, abra un nuevo formulario en el Diseñador de formularios y agregue uno o varios controles con propiedades Caption, tales como Label o CommandButton, al formulario. Seleccione varios de estos controles y, después, ejecute el ejemplo. ASELOBJ( ) muestra los nombres de los controles seleccionados y, a continuación, cambia sus títulos.

gnobjects = ASELOBJ(gaSelected)     && Create array of control names
IF gnobjects > 0  && 0 indicates no controls selected
   CLEAR
   DISPLAY MEMORY LIKE gaSelected     && Displays selected controls
   FOR nCnt = 1 TO gnobjects 
      ? gaSelected(nCnt).Caption + ' => New Caption ' ;
         + LTRIM(STR(nCnt))  && Display old and new caption
      gaSelected(nCnt).Caption = 'New Caption ' ;
         + ALLTRIM(STR(nCnt))  && Assign new caption
   NEXT
ENDIF

Vea también

CREATE FORM | DataEnvironment (Objeto) | Diseñador de formularios | _ObjectReference( ) (Rutina de biblioteca API) | AMOUSEOBJ( ) (Función)