¡SUGERENCIA! Los mnemónicos de SYSGUI generalmente
dan ERROR=29 como falla, pero el valor del TCB(10) generalmente es de gran ayuda. Recuerde que un código
de TCB(10) positivo generalmente es dado cuando el
error es detectado desde el interior del lenguaje (contrario a como ocurre con
los errores originados en el sistema operativo). Cuando el TCB(10) es positivo, reste uno para obtener el código de error
real. TCB(10)=12 forma un !ERROR=11, que normalmente
es "Llave Duplicada o Faltante". En este caso, significa que ya hay un botón
con ese ID.
Intente el mismo comando, pero con un nuevo
ID para el nuevo botón, como sigue:
0050 PRINT (1)'BUTTON'(2,5,30,40,0,"Cancelar",$$)
Ahora usted si podrá ver el segundo botón.
¡NOTA! El ID 1 está reservado generalmente para botones OK,
y el ID 2 está reservado para botones de Cancelar. Además de esos, al programador
se le pide dejar los valores desde 1 a 99 como "reservados para utilización
futura". Esto simplifica la situación un poco – para más detalles, vea
el manual del Visual PRO/5.
Ahora tenemos una ventana con dos botones
en ella. Vamos a trabajar con ellos. Comenzaremos experimentando para aprender
como hacer cosas invisibles.
¡SUGERENCIA! El ID 0 es un identificador
especial que se refiere siempre a la ventana actual. En los comandos que siguen,
estaremos utilizando ID 0 para operar en toda la ventana, e IDs 1 y 2 para operar
en los botones de control.
Trate digitando lo siguiente:
0060 WAIT 1; PRINT (1)'HIDE'(1)
0070 WAIT 1; PRINT (1)'SHOW'(1)
Los WAIT 1
se agregan para que observe en forma pausada los cambios que se van dando en
la pantalla. Apreciará muy bien que el botón OK se hace invisible y de nuevo
visible. El primer número entre paréntesis es el ID del objeto a ser ocultado
o mostrarlo. Recuerde que 0, 1 y 2 son válidos para este ejemplo. Experimente
ocultando y mostrando los dos botones y la ventana misma.
Los mnemónicos 'HIDE' y 'SHOW' soportan más de un parámetro,
para cambiar más de un ítem a la vez. Ej:
PRINT (1)'SHOW'(0,1,2)
Con la línea anterior se asegurará que la
ventana y ambos botones serán visibles de nuevo.
Ahora usted está listo para otro par de mnemónicos que son muy
similares al 'HIDE' y 'SHOW'. Trate agregando estas líneas.
0080 WAIT 1
0090 PRINT (1)'DISABLE'(1)
0100 WAIT 1
0110 PRINT (1)'ENABLE'(1)
El mnemónico 'DISABLE' deshabilita el uso de campos definidos
para entrada de datos del usuario. En el caso de un control, el ítem es rellenado
con un color gris para indicar al usuario que no puede usarlo. En el caso de
una ventana, simplemente no deja que responda. Las ventanas y controles desactivados
no pueden ser movidos, cambiados de tamaño, activados con click, o operados
de otra manera, hasta que sean permitidos de nuevo. Experimente con 'DISABLE'
y 'ENABLE' como se muestra arriba. Cuando lo haya hecho, digite la siguiente
línea para asegurarse de que todo es permitido de nuevo.
PRINT (1)'ENABLE'(0,1,2)
Seguidamente, vamos a utilizar el mnemónico 'TITLE' para cambiar
el texto de título de la ventana y los controles.
PRINT (1)'TITLE'(0,"Nuevo Título de Ventana")
PRINT (1)'TITLE'(1,"Okay")
Experimente con el mnemónico 'TITLE', cambiando los títulos
de los controles por lo que usted quiera. ¿Qué ocurre si el mensaje es demasiado
largo para el campo? Cuando usted haya hecho la prueba, agregue lo siguiente
para restablecer los títulos.
0120 WAIT 1
0130 PRINT (1)'TITLE'(0,"TEST")
0140 WAIT 1
0150 PRINT (1)'TITLE'(1,"OK")
0160 WAIT 1
0170 PRINT (1)'TITLE'(2,"CANCELAR")
0180 WAIT 1
|