Ahora vamos a habilitar ese comando.
PRINT (1)'ENABLE'(-4)
Si usted accesa el menú va a ver que el ítem no es gris por más tiempo.
Los mnemónicos 'CHECK' y 'UNCHECK' trabajan con ítems de menú
chequeables. Pruebe con estos, atisbando en el menú antes y después de cada
evento.
PRINT (1)'CHECK'(-5)
PRINT (1)'UNCHECK'(-5)
La función CTRL puede ser usada, como de costumbre, para obtener
información acerca de menús y de ítems de menús. El más básico, aunque muy rara
vez usado, es la función 6 de CTRL ("obtener menú"). La función 6
es desempeñada en la ventana padre y retorna el árbol del menú completo, en
la sintaxis de 'SETMENU'.
PRINT CTRL(1,0,6)
Recuerde que el ID 0 se refiere siempre a
la ventana completa. Esta función recuperará todo el menú, completo con el doble
{linefeed} al final.
Para obtener información en ítems de menú individuales, usted
puede usar la función 1 ("obtener texto") para obtener el título,
y la función 2 ("obtener valor") para obtener la condición chequeado
de ítems chequeables.
Para obtener el título del ítem número 4
del menú, usar la siguiente instrucción:
PRINT CTRL(1,-4,1)
PRINT CTRL(1,-1,1) ---> No
devuelve nada.
Para ver si un ítem chequeable está chequeado
en este momento, ponga lo siguiente.
PRINT DEC(CTRL(1,-5,2)) ---> 0=Sin
chequear, 1=Chequeado.
Como usted puede ver, trabajar con menús es un poco tedioso,
pero no difícil. Una vez que su menú está colocado, el menú individual de ítems
funciona mucho más bonito con controles especiales. El menú puede ser alterado
en pequeñas formas con simples mnemónicos (como cambiar títulos y deshabilitar
ítems), o puede ser reemplazado completamente con 'SETMENU' en cualquier momento.
Ejercicio de SYSGUI #12: Las Barras de condición y las Colas
para mensajes
La barra de condición es un control especial que le permite
mostrar mensajes de texto en la parte inferior de una ventana. Para ver una
barra de condición, vamos a utilizar una versión modificada de el programa "Hola,
Mundo" del Ejercicio #1. Solamente la línea 45 es nueva.
0010 OPEN (1)"X0"
0020 PRINT (1)'SEMICHARS'
0030 PRINT (1)'WINDOW'(50,50,50,50,"Hola",$83$,$FFFFFEFF$)
0040 PRINT (1)'BUTTON'(1,5,15,40,0,"OK",$$)
0045 PRINT (1)'STATBAR'(102,0,0,0,0,"Click OK to exit",$$)
0050 DIM E$:TMPL(1)
0060 READ RECORD (1,SIZ=LEN(E$))E$
0070 END
|