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 26/68)
Primero Previo Próximo Último

 Vamos a repasar al menos las partes que ya nos son familiares en este programa:

0030 PRINT (1)'WINDOW'(100,100,100,100,"Reportero de eventos",$03$,
0030:$FFFFFFFF$)

Esta línea crea una ventana, como de costumbre. Estamos usando las banderas de opciones $01$ (cambiar de tamaño) y $02$ (tener una caja de cierre). El séptimo parámetro es opcional y sirve para enmascarar el evento, al cual en este caso le pusimos el "Árbol de Navidad" (todos los bits encendidos), para poder así obtener el máximo reporte de eventos. Esto normalmente solo es útil para pruebas. Generalmente, usted quisiera un pequeño reporte a como usted lo pueda tener y lograr aún que su programa haga lo qué usted quiera.

La línea 80 muestra todos los campos en la estructura del evento. El primer campo, E.CONTEXT, siempre será cero para esta demostración. El contexto es usado para identificar una ventana particular cuando el dispositivo de SYSGUI es manipulando en más que una ventana a la vez. Hemos olvidado todo lo tratado porque hasta el momento no hemos desplegado más que una ventana.

El campo E.CODE indica el tipo de evento. Hay muchos tipos de eventos. Algunos que usted podría ver en esta demostración son:

m         ratón movido
X         caja de cierre operada
B         pulsador de botón operado
F         ventana lograda o enfoque perdido
S         tamaño de ventana fue establecido o borrado
d          botón del ratón está abajo
u          botón del ratón está arriba
2          doble click en botón del ratón

El campo E.ID contiene el ID del control o ventana que está generando el reporte. En esta demostración, usted verá solamente 0 (la ventana) y 1 (el botón).

Los campos restantes (FLAGS, X, Y) no son siempre usados, pero cuando si lo están, dan el detalle acerca del evento. Por ejemplo, si un botón de ratón es oprimido {clicked}, FLAGS indica la condición de las teclas de Ctrl y Shift, y X y Y reportan la posición del cursor del ratón en el momento del click. Probablemente usted puede observar fuera de la figura cuáles campos son utilizados  para otros tipos de evento.

Una vez que el programa está corriendo, intente las siguientes acciones. 

  1. mueva el ratón sobre la ventana
  2. haga click en el botón
  3. haga click en la caja de cierre
  4. cambie el tamaño de la ventana

Lo primero que va a notar cuando haga lo anterior, es que hay tantos mensajes 'm' que es difícil darle seguimiento. Estos son eventos de movimiento del ratón, y es una buena idea omitir su reporte, aparte de si usted lo necesitara. Para desactivar ese reporte, debe cambiar la máscara de eventos en la línea 30 debe variar el tercer byte así: $FFFFFEFF$, dejando todos los otros encendidos.

 Va a notar también que cuando el ratón hace click en el botón, el informe no contiene detalle alguno. Usted no será informado en cual botón del ratón ocurrió el click, donde fue el click, o la condición de las teclas de Ctrl y Shift. Hay otro tipo especial de control de botón conocido como TOOL BUTTON el cual si retorna esa información. (Sepa que botones herramienta y botones regulares no siempre son intercambiables). Intente cambiar el mnemónico 'BUTTON' en la línea 40 a 'TBUTTON'. (Todos los parámetros son los mismos). Corra el programa de nuevo y verá mucho más detalle del reporte (esta vez tipo de evento 'b') cuando el botón del "OK" es presionado.

¡NOTA! Verá que al operar la caja de cierre no hace que la ventana se aleje. Si este fuera el comportamiento que usted desea, el programa deberá preguntar por los eventos 'X' para destruir la ventana con 'DESTROY'(0).

Primero Previo Próximo Último

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

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