Acceso a controles y objetos ActiveX
Puede usar cualquier control ActiveX disponible en su equipo. Para usar un control ActiveX, lo agrega a un formulario y establece sus propiedades, escribe controladores para sus eventos o llama a sus métodos. Puede agregar un control ActiveX a un formulario con la barra de herramientas Controles de formularios o con el control OLE Container, o mediante código. Para obtener detalles acerca de cómo agregar un control ActiveX en el Diseñador de formularios, vea Agregar OLE.
Puede crear un control ActiveX en código de la misma forma que crearía cualquier control de Visual FoxPro. Sin embargo, antes de crear el control debe determinar el nombre de la biblioteca de clases del control, que está almacenada en el Registro de Windows. Si no tiene otra forma de determinar el nombre de la biblioteca de clases, use el Diseñador de formularios para crear el control (como se describe en la sección anterior) y, a continuación, obtenga la propiedad OLEClass del control.
Los objetos ActiveX se pueden crear directamente con CREATEOBJECT( ) y no requieren una instancia de un formulario.
Para crear un control ActiveX en código
- Llame a CREATEOBJECT( ) para crear un formulario.
- Llame al método AddObject del nuevo formulario para agregar el control, especificando
olecontrol
como la clase. Debe pasar el nombre de la biblioteca de clases del control como tercer parámetro del método AddObject.
Por ejemplo, el programa siguiente crea un formulario nuevo y le agrega un control de esquema:
oMyForm = CREATEOBJECT("form")
oMyForm.AddObject("oleOutline","olecontrol", ;
"MSOutl.Outline")
Después de crear el formulario y el control, puede mostrar el formulario llamando a su método Show y mostrar el control estableciendo su propiedad Visible en verdadero:
oMyForm.oleOutline.Visible = .T.
oMyForm.Show
Algunos controles ActiveX no están diseñados principalmente para su uso de forma interactiva por parte de un usuario. Por ejemplo, un control de tipo cronómetro no admite métodos para la interacción con el usuario. Incluso en este caso, aún puede crear el control en un formulario porque el control normalmente ofrecerá un componente visible predeterminado, como un icono. Con frecuencia, no podrá cambiar o redimensionar el icono.
Si no desea que la aplicación muestre el icono para controles que no interactúan, puede ocultar el control si establece la propiedad Visible de su control OLE Container en falso o si establece su propiedad Left en un valor negativo (como –100) que lo desplace fuera de la parte visible de la pantalla. De forma alternativa, puede colocar el control en un formulario que nunca sea visible (es decir, para el que nunca se llama el método Show). En todos los casos, podrá llamar a los métodos del control como si éste fuese visible.
Vea también
Acceso a bibliotecas externas | Acceso a bibliotecas de vínculos dinámicos | Acceso a la biblioteca de Visual FoxPro | Ampliar Visual FoxPro con bibliotecas externas | Acceso a la API de Visual FoxPro | Agregar OLE | CREATEOBJECT( )