XPOS= YPOS=
Estos modos controlan la ubicación de la ventana de ploteo en
pixeles. El punto que se posiciona es la esquina superior izquierda del área
del cliente (superficie para ploteo). Por lo tanto, suministrando XPOS=0, YPOS=0
dejará la barra de título como 'apagada'.
WIDTH= HEIGHT=
Estos suministran el ancho y altura de la ventana de ploteo en pixeles.
Un ejemplo más elaborado de un alias de SYSPLOT sería el siguiente.
ALIAS D0 SYSPLOT "Ventana de Ploteo" XPOS=100,YPOS=100,
WIDTH=400, HEIGHT=300
El dispositivo SYSGUI
El dispositivo SYSGUI es una poderosa
herramienta gráfica que permite a un programa de Visual PRO/5 crear y manipular
elaboradas ventanas y diálogos gráficos. Este es el que más utilizaremos en
lo que siga del curso y en el trabajo real.
Para abrir el dispositivo SYSGUI, usted necesitará
un alias como el siguiente en su archivo config.bbx
ALIAS X0 SYSGUI
El nombre de alias tiene que comenzar con X, pero
no necesariamente tiene que ser X0. Ya que nada responde realmente a él, X0
sería como cualquier otro nombre. Para preparar el comienzo interactivo con
SYSGUI, simplemente abra el dispositivo así:
GUI=UNT
OPEN(GUI)"X0"
Ninguna ventana gráfica se creará hasta que
los comandos hayan sido enviados al canal SYSGUI.
¡CUIDADO! Es posible tener varios canales
abiertos al SYSGUI, pero los dos canales se comportarán como uno sólo. Esto
es, que algunos modos cambian u otras definiciones afectarán todos los canales
de SYSGUI igualmente abiertos.
Cuando el último canal abierto al SYSGUI
es cerrado, todas las ventanas de SYSGUI y sus contenidos son destruidos automáticamente.
Interacción SYSGUI
Toda la interacción con SYSGUI corresponde
a una de tres categorías.
1. Mnemónicos para acción inmediata. Si una acción inmediata es deseada, como por
ejemplo crear una ventana o deshabilitar un control (¡nombrado MUY poco!), un
mnemónico es utilizado.
2. El CTRL() y FIN() para examinar componentes
del sistema GUI. Si su programa necesita conocer el estatus actual de un control
o ventana, u otra condición del sistema como la resolución desplegada, información
de la impresora, etc., CTRL () y FIN() son las funciones a ser usadas.
3. READ RECORD para recibir el informe de los eventos del usuario. Cuando el usuario
opera un control gráfico o de otra manera interactúa con el sistema GUI, un
informe de las acciones del usuario, llamadas un *evento*, puede ser generado
y colocado en una cola (la *cola de eventos*).
Cualquier programa completo que utiliza una
interfase gráfica usará todos los tres métodos mostrados arriba. Como un ejemplo
típico, un diálogo para seleccionar preferencias de usuario será mostrado con
mnemónicos, y luego, un READ RECORD en un loop esperará a que el botón OK sea
tocado con un click del ratón. En ese punto, CTRL () examinaría la condición
de las diversas cajas de chequeo (check boxes), botones de radio (radio buttons)
y barras de desplazamiento (scroll bars), para determinar qué posiciones el
usuario ha elegido. Luego un mnemónico podría ser usado para destruir el diálogo.
A manera de recomendación, estos son los
pasos que podrían seguirse para la confección de cualquier programa que utilice
pantallas gráficas.
- Definir la pantalla, ya sea manualmente o mediante el editor de pantallas.
- Abrir archivos o Base de Datos a utilizar.
- Leer los datos que necesiten ser cargados a los objetos o listas de ítems en el contexto.
- Hacer que la pantalla gráfica se haga visible.
- Controlar eventos reportados por Windows, bajo las siguientes prioridades:
- Primero se trata de controlar en cual contexto (pantalla) ocurrió el evento.
- Luego se debe controlar la acción a seguir con el resto de eventos. Una buena
forma de lograrlo es por medio de sub-rutinas adecuadas a la necesidad de cada
evento.
|