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

Observe que al chequear el botón de radio de un grupo, causa que todos los demás botones de radio del grupo se des-chequeen. Esta es la naturaleza de los botones de radio. El mnemónico 'UNCHECK' no trabaja con los botones de radio.

Para ver cual es el estado de un grupo de botones de radio, es necesario utilizar la función 2 de CTRL ("Obtener valor") en cada uno de los botones en el grupo.

PRINT DEC(CTRL(1,101,2))
PRINT DEC(CTRL(1,102,2))

¡SUGERENCIA! Aún cuando los botones de radio y cajas de chequeo informen unos eventos del tipo 'c' cada vez que son operados, frecuentemente es más oportuno esperar a que un botón OK sea presionado, y entonces puedan ser leídos los botones con la función 2 de CTRL, para determinar cuáles están chequeados.

Ahora es un buen momento como para introducir el control GROUPBOX, el cual es una caja que agrupa controles para proveer al usuario una asociación visual entre estos. No hay reglas reales en cuanto a su colocación, solamente lineamientos generales.

Añada la siguiente línea al programa para agregar una caja de grupo alrededor los botones de radio.

0043 PRINT (1)'GROUPBOX'(103,5,0,80,80,"Botones de Radio",$$)

Esto no cambiará el comportamiento del programa, solamente la apariencia. Las cajas de grupo nunca generan eventos algunos.

¡CUIDADO! Las cajas de grupo aparecen siempre detrás de otros controles, pero no son transparentes. Obscurecerán cualesquier ítem dibujado que se superponga en la ventana.

¡CUIDADO! Hay tres modos en que los botones de radio pueden ser "agrupados", y esto es importante para evitar confundirlos. La primera forma en que puedan ser agrupados es que sean programados para operar como un conjunto. Los botones de radio no trabajan hasta que sean agrupados de esta manera. Esto puede ser hecho con los mnemónicos 'RADIOGROUP' o por la asignación de los números de ID desde el interior del Editor de Recursos de BASIS. La segunda forma en que los botones de radio puedan ser agrupados, es asignando números de ID consecutivos y encendiendo el atributo de la bandera "group" para todas ellos. Esta forma es solamente para navegación de teclado, y no afecta el modo en que operan. Esto simplemente causa que podamos  usar la tecla Tab para tratar todo el grupo de Botones de Radio (o cajas de chequeo, en cuanto a eso) como un conjunto, en función de navegación. La tercer forma de "agrupar" botones de radio es visualmente, dibujando un control de caja de grupo alrededor a ellos. Esto no tiene efecto en la operación del programa y es solamente para beneficio del usuario. En la mayoría de los programas, los tres métodos de agrupar son usados en acuerdo, pero es importante entender cuáles son requeridos y cuáles no, y como aplicar cada método.

Algo que no se controla, como la caja de grupo, es el control de texto estático. Es creado con el mnemónico 'TEXT', y simplemente causa un mensaje de texto (el título del control) que aparece en la ubicación prescrita. Inténtelo adicionando la siguiente línea al programa.

0044 PRINT (1)'TEXT'(104,10,90,50,15,"Hola",$$)

El uso más común de controles de texto estáticos es el etiquetado para controles que no muestran sus títulos, como cajas de listas, barras de desplazamiento, etc. Estos pueden ser utilizados libremente, pero usted debería ser consciente de que, como las cajas de grupo, no son transparentes.

Ejercicio de SYSGUI #8: Controles de Listas

Existen tres tipos de controles que permiten al usuario escoger ítems de una lista. El más básico de estos es el LIST BOX. Este es mostrado como una caja con una barra de desplazamiento  vertical. Dentro de la caja tenemos varios ítems de texto, que pueden ser "seleccionados" por el usuario. Dependiendo del tipo de caja de lista, el usuario puede seleccionar solamente un ítem, o algún número de ítems, de la lista. A veces un click, y más frecuentemente un doble click en un ítem de la lista, puede provocar una acción especial a tomar.

Los otros tipos de controles de lista son el LIST BUTTON y el LIST EDIT. Ambos son mostrados como una caja de edición con un botón a continuación de esta. Presionando el botón se activa una lista, y seleccionar un ítem en la lista causa su selección para ser mostrado en la caja de edición, y la lista se desactiva. En el control de botón de lista, solamente selecciones de la lista pueden ser hechas, mientras que el control de la lista de edición permite al usuario teclear una entrada libremente en la caja de edición, así como para seleccionar un ítem desde la lista.

Este es nuestro bien  gastado programa reportero de eventos, con una nueva línea 40 y 41.

0010 OPEN (1)"X0"
0020 PRINT (1)'SEMICHARS'
0030 PRINT (1)'WINDOW'(100,100,100,100,"Reportero de eventos",$03$, 0030:$FFFFFEFF$)
0040 PRINT (1)'LISTBOX'(101,10,10,80,80,"",$$)
0041 PRINT (1)'LISTADD'(101,-1,"John","Paul","George","Ringo")
0050 DIM E$:TMPL(1)
0060 READ RECORD (1,SIZ=LEN(E$))E$
0070 PRINT E.CONTEXT," ",E.CODE$, E.ID," ",HTA(BIN(E.FLAGS,1)), E.X, E.Y
0080 IF E.CODE$<>"X" 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