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)