Ejecutar un formulario
Un formulario puede ejecutarse directamente desde la interfaz o mediante programación.
Ejecutar un formulario de forma interactiva
Hay varios modos de ejecutar el formulario que ha diseñado.
Si está trabajando en el Diseñador de formularios, puede probar el formulario haciendo clic en el botón Ejecutar de la barra de herramientas Diseñador de formularios. Para volver a abrir el formulario en el Diseñador de formularios, ciérrelo o elija el botón Modificar formulario de la barra de herramientas.
También puede ejecutar un formulario desde un proyecto o mediante programación.
Para ejecutar un formulario
En el Administrador de proyectos, seleccione el nombre del formulario en la ficha Documentos y elija Ejecutar.
–O bien–
Escriba DO FORM en la ventana Comandos.
–O bien–
En el menú Formulario, elija Ejecutar formulario. También puede elegir el botón Ejecutar en la barra de herramientas Estándar.
También puede ejecutar el formulario si elige Ejecutar en el menú Programa, a continuación elige Formulario en el cuadro Mostrar archivos del tipo y finalmente selecciona el formulario y elige Ejecutar.
Sugerencia Cuando ejecuta un formulario, puede cambiar rápidamente al modo Diseño si hace clic en el botón Modificar formulario de la barra de herramientas Estándar.
Ejecutar un formulario desde un programa
Para ejecutar un formulario mediante programación, incluya el comando DO FORM en el código asociado a un evento, en código de método o en un programa o un procedimiento.
Asignar un nombre al objeto Form
De forma predeterminada, cuando usa el comando DO FORM, el nombre del objeto Form es el mismo que el del archivo .scx. Por ejemplo, la siguiente línea de código ejecuta Customer.scx. Visual FoxPro crea automáticamente una variable de objeto para el formulario llamada customer
:
DO FORM Customer
Para asignar un nombre a un objeto Form
- Utilice la cláusula NAME del comando DO FORM.
Por ejemplo, los comandos siguientes ejecutan un formulario y crean dos nombres de variable del objeto Form:
DO FORM Customer NAME frmCust1
DO FORM Customer NAME frmCust2
Manipular el objeto Form
Si ejecuta el comando DO FORM desde la ventana Comandos, el objeto Form se asociará a una variable pública. Puede tener acceso al objeto Form a través del nombre de variable. Por ejemplo, los comandos siguientes, ejecutados en la ventana Comandos, abren un formulario llamado Customer
y cambian su título.
DO FORM Customer
Customer.Caption = "Hello"
Si a continuación ejecuta el comando siguiente en la ventana Comandos, aparecerá O
en la ventana Resultados activa, lo que indica que Customer
es un objeto:
? TYPE("Customer")
Si ejecuta el comando DO FORM en un programa, el objeto Form se incluirá en el alcance del programa. Si se completa el programa o el procedimiento, el objeto desaparecerá, pero el formulario permanecerá visible. Por ejemplo, podría ejecutar el programa siguiente:
*formtest.prg
DO FORM Customer
Después de ejecutar el programa, el formulario permanece visible y todos los controles del formulario están activos, pero TYPE("Customer")
devuelve U
, lo que indica que Customer
es una variable no definida. El comando siguiente, ejecutado en la ventana Comandos, generaría un error:
Customer.Caption = "Hello"
Sin embargo, sí puede tener acceso al formulario utilizando las propiedades ActiveForm, Forms y FormCount del objeto Application.
Ajustar el alcance del formulario a la variable del objeto Form
La palabra clave LINKED del comando DO FORM permite vincular el formulario al objeto Form. Si incluye la palabra clave LINKED, cuando la variable asociada al objeto formulario esté fuera del alcance, se liberará el formulario.
Por ejemplo, el comando siguiente crea un formulario vinculado a la variable de objeto frmCust2
:
DO FORM Customer NAME frmCust2 LINKED
Cuando se libera frmCust2
, el formulario se cierra.
Cerrar un formulario activo
Para permitir que los usuarios cierren el formulario activo al hacer clic en el botón de cierre o al elegir Cerrar en el menú Control del formulario, establezca la propiedad Closable del formulario.
Para permitir a un usuario cerrar el formulario activo
En la ventana Propiedades, establezca la propiedad Closable en el valor verdadero (.T.).
–O bien–
Utilice el comando RELEASE.
Por ejemplo, puede cerrar y liberar el formulario frmCustomer
si ejecuta el comando siguiente en un programa o en la ventana Comandos:
RELEASE frmCustomer
También puede permitir que un usuario cierre y libere un formulario si incluye el comando siguiente en el código de evento Click de un control, como un botón de comando con el título “Salir”:
THISFORM.Release
También puede usar el comando RELEASE en el código asociado a un objeto del formulario, pero no se ejecutará el código que haya incluido en el método Release.
Precaución Al liberar un formulario, se libera de la memoria la variable de objeto creada para el formulario. Hay una única variable para un conjunto de formularios, por lo que no podrá liberar formularios de un conjunto de formularios sin liberar el conjunto. Si desea liberar el conjunto de formularios, puede utilizar
RELEASE THISFORMSET
. Si desea quitar un formulario de la pantalla de modo que un usuario no pueda verlo o interactuar con él, utiliceTHISFORM.Hide
.
Vea también
Guardar formularios | Establecer propiedades en tiempo de ejecución | Crear formularios | Ejemplo de manipulación de objetos | Ocultar un formulario