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

La función 0 retorna los valores en las unidades actuales. Para ver como los pixeles y semicaracteres comparan en su sistema, trate de hacerlo digitando

0020 PRINT (1)'PIXELS'

para cambiar las unidades actuales a pixeles. Entonces busque los rectángulos dándole RUN al programa de nuevo. Note que los objetos exhibidos no cambiaron repentinamente su tamaño. Cambiando las unidades solamente serán afectados los nuevos objetos que sean posicionados y cambiados de tamaño, y como las dimensiones actuales sean reportadas por CTRL().

Vamos a combinar lo qué hemos aprendido en los ejercicios previos y hagamos un NUEVO PROGRAMA que presente una caja de edición y un pulsador en una ventana. Cada vez que el botón OK es presionado, el título de la ventana es dispuesto para concordar con el texto en la caja de edición.

0010 OPEN(1)"X0"
0020 PRINT (1)'SEMICHARS'
0030 PRINT (1)'WINDOW'(50,50,50,50,"Título a Variar",$$)
0040 PRINT (1)'BUTTON'(1,5,15,40,15,"OK",$$)
0050 PRINT (1)'EDIT'(101,5,30,40,15,"",$$)
0060 DIM E$:TMPL(1)
0070 REM
0080 READ RECORD(1,SIZ=LEN(E$))E$
0090 REM
0100 T$=CTRL(1,101)
0110 PRINT (1)'TITLE'(0,T$)
0120 GOTO 70

Nota 1: Este programa no tiene como terminar o salirse normalmente. Para volver a la ventana de la consola, tendrá que dar <Alt>+<Tab> o dar un Click fuera del contexto, y luego hacer un <Ctrl>+C para interrumpirlo.

Nota 2: Usted va a notar que ningún evento es reportado hasta que usted haga click en el botón. Las cajas de edición pueden reportarlo cada vez que sean modificadas, o cada vez que ganen o pierden foco de teclado. Sin embargo, esos eventos son opcionales y deliberadamente no los hemos solicitado. En muchos casos esto es preferible para esperar a que el usuario haga click en un botón, y entonces lea los otros controles, tanto más  para que usted le siga la pista a todo y obtenga los eventos desde todos los controles.

Nota 3: Intente dar click, doble click y arrastre en la caja de edición. Usted va a observar el comportamiento estándar de Windows en los controles de edición de texto. Visual PRO/5 es completamente compatible con estos. Usted verá que se puede cortar, copiar y pegar con el la combinación estándar de teclas <Ctrl>+X, <Ctrl>+C y <Ctrl>+V. Acceso al clipboard de un menú también se tiene disponible, pero está fuera del propósito de este experimento.

Ahora mejoremos el programa anterior, cambiándole las siguientes líneas, para que vea como se optimiza el funcionamiento del mismo.

0030 PRINT (1)'WINDOW'(50,50,50,50,"Título a Cambiar",$00010002$);
     REM "Esa bandera activa gravedad y cierre de caja para la ventana
0070 PRINT (1)'FOCUS'(101); REM "Posiciona cursor en Objeto 101.
0090 IF E.CODE$="X" STOP; REM "Termina si cierre de caja es activado

Ejercicio de SYSGUI #4: El Reportero de Eventos

Hemos estado leyendo la cola de eventos para detectar eventos de botón y cajas de cierre, pero realmente nunca hemos analizado la información de los eventos. El mejor modo de experimentar esto es creando una ventana que reporte todos los eventos, entonces escriba un programa que vaya mostrando el contenido de cada evento en la pantalla. (Salve este programa, ya que luego lo volveremos a usar una y otra vez.)

0010 OPEN(1)"X0"
0020 PRINT (1)'SEMICHARS'
0030 PRINT (1)'WINDOW'(100,100,100,100,"Reportero de eventos",$03$,
0030:$FFFFFFFF$)
0040 PRINT (1)'BUTTON'(1,10,10,50,15,"OK",$$)
0050 DIM E$:TMPL(1)
0070 READ RECORD(1,SIZ=LEN(E$))E$
0080 PRINT E.CONTEXT, "  ",E.CODE$,E.ID,"  ",HTA(BIN(E.FLAGS,1)),
0080:E.X, E.Y
0090 GOTO 60

Primero Previo Próximo Último

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

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