Portada
Banner
Portada Foros Manuales Enlaces Email
clear1x1.gif clear1x1.gif clear1x1.gif
clear1x1.gif
clear1x1.gif

Portada
Foros
Manuales
Enlaces
Distribuidores
Precios
Sugerencias

Contacto

 

clear1x1.gif clear1x1.gif
 Guía rápida de inicio al GUI de Visual Pro/5 (Parte 18/68)
Primero Previo Próximo Último

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.

  1. Definir la pantalla, ya sea manualmente o mediante el editor de pantallas.
  2. Abrir archivos o Base de Datos a utilizar.
  3. Leer los datos que necesiten ser cargados a los objetos o listas de ítems en el contexto.
  4. Hacer que la pantalla gráfica se haga visible.
  5. 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.
Primero Previo Próximo Último

Portada -- Foros -- Manuales -- Enlaces-- Sugerencias
Para comentarios: webmaster@essnet.com

clear1x1.gif
clear1x1.gif
clear1x1.gif
Portada Email Foros