Compartir a través de


Referencias a objetos de la jerarquía de contenedores

Las jerarquías de clases y de contenedores son dos entidades distintas. Visual FoxPro busca código de evento en la jerarquía de clases, mientras que se hace referencia a los objetos en la jerarquía de contenedores. Para manipular un objeto, hay que identificarlo con relación a la jerarquía de contenedores. Por ejemplo, para manipular un control de un formulario perteneciente a un conjunto de formularios, deberá hacer referencia al conjunto de formularios, al formulario y, por último, al control. Para obtener más información acerca de las jerarquías de clases, consulte Llamar al código de evento en la jerarquía de clases.

Hacer referencia a un objeto dentro de su jerarquía de contenedores se puede comparar con dar una dirección del objeto a Visual FoxPro. Cuando describe la ubicación de una casa a otra persona fuera de su marco inmediato de referencia, debe indicar el país, la provincia o la región, la ciudad, la calle o bien sólo el número de la calle donde se encuentra la vivienda, según lo lejos que se encuentre esa otra persona. De lo contrario, podría haber cierta confusión.

La ilustración siguiente muestra una posible situación de anidamiento del contenedor.

Contenedores anidados

Para desactivar el control de la columna de cuadrícula, deberá proporcionar la dirección siguiente:

Formset.Form.PageFrame.Page.;
 Grid.Column.Control.Enabled = .F.

La propiedad ActiveForm del objeto Application (_VFP) le permite manipular el formulario activo aunque no conozca su nombre. Por ejemplo, la siguiente línea de código cambia el color de fondo del formulario activo, independientemente del conjunto de formularios al que pertenezca:

_VFP.ActiveForm.BackColor = RGB(255,255,255)

De forma similar, la propiedad ActiveControl permite manipular el control activo del formulario activo. Por ejemplo, la expresión siguiente introducida en la ventana Inspección muestra el nombre del control activo de un formulario a medida que se eligen interactivamente los distintos controles:

_VFP.ActiveForm.ActiveControl.Name

Referencias relativas

Cuando haga referencia a objetos desde la jerarquía de contenedores (por ejemplo, en el evento Click de un botón de comando de un formulario perteneciente a un conjunto de formularios), puede utilizar algunos menús contextuales para identificar el objeto que desea manipular. La tabla siguiente indica las propiedades o las palabras clave que facilitan la referencia a un objeto desde la jerarquía de objetos:

Propiedad o palabra clave Referencia
Parent El contenedor más inmediato del objeto
THIS El objeto
THISFORM El formulario que contiene el objeto
THISFORMSET El conjunto de formularios que contiene el objeto

Nota   Sólo puede utilizar THIS, THISFORM y THISFORMSET en código de métodos y eventos.

La tabla siguiente proporciona ejemplos del uso de THISFORMSET, THISFORM, THIS y Parent para establecer propiedades de objetos:

(Comando) Dónde incluir el comando
THISFORMSET.frm1.cmd1.Caption = "OK"
En el código de evento o de método de cualquier control de cualquier formulario del conjunto de formularios.
THISFORM.cmd1.Caption = "OK"
En el código de evento o de método de cualquier control del mismo formulario en el que está cmd1.
THIS.Caption = "OK"
En el código de evento o de método del control cuyo título desee cambiar.
THIS.Parent.BackColor = RGB(192,0,0)
En el código de evento o de método de un control de un formulario. El comando cambia a rojo oscuro el color de fondo del formulario.

Vea también

Programación orientada a objetos | Clases y objetos: los bloques funcionales de las aplicaciones | Clases de Visual FoxPro | Preparar la creación de clases | Crear clases | Modificar una definición de clase | Crear una subclase de una definición de clase | Utilizar el Diseñador de clases | Proteger y ocultar miembros de clase | Especificar la apariencia en tiempo de diseño | Crear, copiar y eliminar archivos de biblioteca de clases | Agregar clases a formularios | Anular los valores predeterminados de las clases | Establecer propiedades | Llamar a métodos | Responder a eventos