Proporcionar a los usuarios controles para elegir
La mayoría de las aplicaciones necesitan ofrecer al usuario opciones, como una simple opción "Sí/No", o elegir entre una lista de cientos de posibilidades. Visual Basic incluye varios controles estándar para proporcionar selecciones. La siguiente tabla resume estos controles y sus usos.
Selecciona una sola opción con CheckBox
CheckBox indica si un estado específico está seleccionado (activado) o desactivado (desactivado). El uso de una casilla de verificación en una aplicación proporciona al usuario una opción de "Verdadero/Falso" o "sí/no". Debido a que las casillas de verificación funcionan de forma independiente unas de otras, los usuarios pueden seleccionar tantas casillas de verificación como quieran al mismo tiempo. Por ejemplo, en la Figura 3.9, se pueden seleccionar tanto negrita como cursiva.
Aplicación de casilla de verificación
Este ejemplo utiliza una casilla de verificación para determinar si el texto debe mostrarse en fuente normal o en cursiva. Para obtener una versión funcional de este ejemplo, consulte Check.frm en el ejemplo de aplicación Controls.vbp. Como se muestra en la Figura 3.10, esta aplicación tiene un TextBox, una Etiqueta, un CommandButton y dos CheckBoxes.
La siguiente tabla enumera la configuración de propiedades de los objetos de la aplicación.
Cuando se selecciona negrita o cursiva, la propiedad Valor de CheckBox se establece en 1 y en 0 cuando no está seleccionada. El valor predeterminado es 0, por lo que, a menos que cambie la propiedad Valor, la casilla de verificación no se seleccionará cuando se muestre por primera vez. Puede utilizar las constantes vbChecked y vbUnchecked para representar los valores 1 y 0.
evento en la aplicación de casilla de verificación
Cuando se hace clic en una casilla de verificación, se produce el evento de clic de la casilla de verificación. Este procedimiento de evento prueba si CheckBox está seleccionado (es decir, si Value=vbChecked). Si se selecciona, convierte el texto a negrita o cursiva estableciendo la propiedad Negrita o Cursiva del objeto Fuente devuelto por la propiedad Fuente del Cuadro de texto.
PRivateSubchkBold_Click()
IfChkBold.Value=vbCheckedThen 'Si está seleccionado.
txtDisplay.Font.Bold=Verdadero
De lo contrario 'Si no está seleccionado.
txtDisplay.Font.Bold=Falso
Fin si
FinSub
PrivadoSubchkItalic_Click()
IfChkItalic.Value=vbCheckedThen 'Si está seleccionado.
txtDisplay.Font.Italic=Verdadero
De lo contrario 'Si no está seleccionado.
txtDisplay.Font.Italic=Falso
Fin si
FinSub
Opciones de grupo usando botones de opción
Los botones de opción representan un conjunto de dos o más opciones que se le dan al usuario. Sin embargo, a diferencia de CheckBox, los botones de opción siempre funcionan como parte de un grupo, por lo tanto, al seleccionar un botón de opción se borran inmediatamente los demás botones del grupo. Defina un grupo de botones de opción que le diga al usuario: "Este es un conjunto de opciones, elija una y sólo una".
Por ejemplo, en el grupo de botones de opción que se muestra en la Figura 3.11, el usuario solo puede seleccionar uno de los tres botones de opción.
Crear un grupo de botones de opción
Todos los botones de opción colocados directamente en un formulario (es decir, no en un marco o cuadro de imagen) forman un grupo. Si desea crear otros grupos de botones de opción, debe colocar algunos de ellos en un Marco o Cuadro de Imagen.
Todos los botones de opción en un marco determinado forman un grupo separado, al igual que todos los botones de opción en un cuadro de imagen. Cuando utilice este método para generar un grupo independiente, primero debe dibujar un marco o cuadro de imagen y luego dibujar los botones de opción en su interior. La Figura 3.12 muestra un formulario con dos grupos de botones de opción.
Después de dibujar un grupo de botones de opción en el marco, el usuario solo puede seleccionar un botón de opción dentro del grupo. Para agrupar controles en un marco, siga estos pasos:
1. Seleccione el control Marco en la "Caja de herramientas" y dibuje el Marco en el formulario.
2. Seleccione el control OptionButton en la "Caja de herramientas" y dibuje el control en el Marco.
3. Si también desea agregar botones de opción al Marco, repita el paso 2. Primero dibuje el marco y luego dibuje cada control en el marco, de modo que cuando se mueva el marco, los controles se muevan juntos. Si mueve un control existente al Marco, el control no se moverá con el Marco.
Tenga en cuenta que si agrupa controles existentes en un Marco, puede seleccionar estos controles y luego cortarlos y pegarlos en el control Marco o Imagen.
Contenedor de control
Cuando el control es un objeto independiente, existe algún tipo de relación padre-hijo entre el formulario y el control. La Figura 3.12 muestra cómo los botones de opción pueden estar contenidos dentro de un formulario o un control de Marco.
Para comprender el concepto de contenedores, primero imagine que todos los controles son hijos de la forma en la que residen. De hecho, la mayoría de los controles admiten la propiedad Parent de solo lectura, cuyo valor es la forma en que se encuentra el control. Como hijo, un control determina su posición en el formulario padre. La propiedad Izquierda y la propiedad Superior del control son relativas al formulario principal y el control no puede moverse más allá de los límites del formulario principal. Cuando se mueve el contenedor, el control también se mueve, por lo que la posición relativa del control y el contenedor permanece sin cambios (es decir, las propiedades Izquierda y Superior del control permanecen sin cambios).
Seleccionar o desactivar botones de opción
Un botón de opción se puede seleccionar de las siguientes maneras:
1.Haga clic en el botón de opción con el mouse durante el tiempo de ejecución.
2. Utilice la tecla Tab para localizar el grupo de botones de opción y luego utilice las teclas de flecha (teclas de flecha) para localizar el botón de opción dentro del grupo.
3. Establezca su propiedad Valor en Verdadero usando el código: optChoice.Value=True
4. Utilice la tecla de acceso directo especificada en el título de la etiqueta.
5. Para hacer que un botón sea el botón predeterminado en el grupo de botones de opción, simplemente establezca su propiedad Valor en Verdadero en tiempo de diseño. Permanece seleccionado hasta que el usuario selecciona un botón de opción diferente o lo cambia con código.
Para deshabilitar un botón de opción, establezca su propiedad Habilitado en Falso. Cuando el programa se está ejecutando, si este botón de opción se vuelve gris, significa que este botón de opción no se puede seleccionar.
Aplicación de opciones
El formulario que se muestra en la Figura 3.13 utiliza botones de opción para seleccionar el tipo de procesador y el sistema operativo de una computadora. Cuando el usuario selecciona un botón de opción dentro del grupo, el título de la etiqueta cambia para reflejar la selección actual. Para obtener una versión funcional de este ejemplo, consulte Options.frm en el ejemplo de aplicación Controls.vbp.
La siguiente tabla enumera la configuración de las propiedades del objeto en la aplicación.
Eventos en la aplicación Opciones
La aplicación de opciones responde a los eventos de la siguiente manera:
Los eventos Click de los primeros tres botones de opción asignan una descripción correspondiente a la variable de cadena de nivel de formulario strComputer.
Los eventos Click de los dos últimos botones de opción asignan una descripción correspondiente a la segunda variable de nivel de formulario strSystem.
La clave de este método es utilizar estas dos variables a nivel de formulario, strComputer y strSystem. Estas dos variables tienen valores de cadena diferentes y la selección final del botón de opción depende de estos valores.
Cada vez que se selecciona un nuevo botón de opción, el código de su evento Click actualiza el valor de la variable correspondiente.
PrivadoSubopt586_Click()
strComputadora=Pentium
LlamadaDisplayCaption
FinSub
Luego llama a un procedimiento llamado DisplayCaption, que concatena las dos variables y cambia la propiedad Caption de la etiqueta.
SubDisplayCaption()
lblDisplay.Caption=Usted seleccionó&
_strComputer&running&strSystem
FinSub
La subrutina se utiliza porque el proceso de cambiar la propiedad Caption es básicamente el mismo para los cinco botones de opción, excepto que el valor de la variable varía según la situación. Esto evita duplicar el mismo código en cada evento Click.
Los detalles de las variables y subprocesos se analizan en el Capítulo 5, "Conceptos básicos de programación".
Usando ListBox y ComboBox
ListBox y ComboBox brindan a los usuarios opciones. De forma predeterminada, las opciones se muestran en una sola columna vertical, pero también se pueden configurar en varias columnas. Si el número de elementos excede el número que ComboBox o ListBox puede mostrar, aparece automáticamente una barra de desplazamiento en el control. Luego, el usuario puede desplazarse hacia arriba, abajo, izquierda y derecha por la lista. La Figura 3.14 muestra un ListBox de una sola columna.
ComboBox tiene las funciones de TextBox y ListBox. Este control permite al usuario realizar selecciones escribiendo texto o seleccionando elementos en una lista. La Figura 3.15 muestra un ComboBox.
A diferencia de otros controles que contienen un solo valor, como la propiedad Caption de Label o la propiedad de texto de TextBox, ListBox y ComboBox contienen múltiples valores o colecciones de valores. Utilice métodos integrados para agregar, eliminar y conservar valores en una colección en tiempo de ejecución. Para agregar varios elementos a un ListBox llamado List1, el código es el siguiente: List1.AddItemParis
Lista1.AddItemNewYork
Lista1.AddItemSanFrancisco
ListBox y ComboBox son formas efectivas de brindar a los usuarios una gran cantidad de opciones en un espacio limitado.
Para obtener más información sobre los controles ListBox y ComboBox, consulte el Capítulo 7, "Uso de los controles estándar de Visual Basic".
->