arroba más más - Programación e Internet  arroba más más - Programación e Internet
Estás en: Inicio > Cursos > Entornos de desarrollo > El entorno Delphi > Curso básico de Delphi > - El control RadioButton
 
CAPÍTULOS

SECCIONES

SITIOS RECOMENDADOS

OTROS SITIOS DE LA AUTORA

En línea desde el 7 de noviembre de 2000

3.VI. El control RadioButton

A veces es necesario dar al usuario a elegir sólo una de las opciones disponibles, creando un grupo de opciones exclusivas entre sí.

Nuestras necesidades serán cubiertas con el control RadioButton, que aparece en la Paleta de componentes como El control RadioButton de Delphi - Paleta estándar. El aspecto de este control es circular, en lugar de un cuadrado, y sólo uno de los controles que insertemos en el form podrá estar activo.

El título que aparecerá a la derecha del control será facilitado como siempre en la propiedad Caption. El estado actual del botón, seleccionado o no, lo conoceremos mediante la propiedad Checked, que será True en caso afirmativo o False en caso negativo.

Grupo de botones de radio

Si lo que necesitamos nosotros es disponer de dos grupos con tres botones de radio, lo que en realidad tenemos son seis botones exclusivos entre sí. Para crear estos grupos tendremos que utilizar un nuevo control llamado GroupBox, representado en la Paleta de componentes como El control GroupBox de Delphi - Paleta estándar

La única finalidad de este control es actuar como padre de otros controles agrupándolos y no dispone de ninguna propiedad especial. Al insertar un control GroupBox en el form, éste aparecerá como un recuadro con un título en la parte superior izquierda. Este título lo podremos establecer modificando el valor de la propiedad Caption, como es habitual. Aunque los controles que normalmente se agrupan son los botones de radio, realmente mediante este control podremos agrupar cualquier conjunto de controles, sin importar su tipo.

Cuando insertemos en un control GroupBox cualquier otro componente, su posición será relativa a la del control que está actuando como contenedor, en este caso el GroupBox. Otra diferencia entre un control insertado directamente en el form y otro insertado en un GroupBox será el valor de la propiedad Parent, de la que disponen todos los componentes. Esta propiedad contiene el nombre del control padre, es decir, el control que actúa como contenedor.

Para que un control pertenezca a un determinado grupo, es necesario que sea insertado en él. En caso de que dispongamos de un determinado componente en el form y lo desplacemos al interior de un control GroupBox, lo único que habremos hecho será modificar la posición, pero realmente dicho control no estará contenido en el grupo. En caso de que los controles a incluir en el GroupBox ya existan en el form, tenemos una alternativa, que es cortarlos al portapapaeles, activar el grupo y pegarlos.

Otras relaciones padre-hijo

Además de la posición de un control, relativa al contenedor en que está incluido, y la pertenencia a dicho contenedor, indicada por el valor de la propiedad Parent, los controles que se incluyen en un contenedor también "heredan" otras propiedades, como puede ser la propiedad Font, el color de fondo, etc.

Si insertamos en un form un control GroupBox, modificamos su propiedad Font, establecidos un determinado tipo y tamaño de letra y, a continuación, insertamos en su interior una etiqueta, un campo de edición o un botón, se verá que estos controles automáticamente aparecen con el mismo tipo de letra. Es más, si durante la ejecución del programa se altera alguna de las características de la propiedad Font del contenedor, automáticamente los controles que hay en su interior también serán modificados. Esto es así porque las propiedades ParentFont, ParentColor, ParentCtld3D y ParentShowHint toman el valor True, indicando así que los valores de las propiedades Font, Color, Clt3D y ShowHint de un determinado control serán tomados del contenedor en que se halle insertado.

Dando el valor False a cualquiera de estas propiedades desactivaremos esta característica.

Puesto que la posición de los controles es relativa al componente, cualquier desplazamiento de éste último resultará en un desplazamiento de todos los controles que haya en su interior.

Grupo de botones de radio

Para facilitar el tratamiento de grupos de botones de radio, Delphi dispone del control que recibe el nombre de RadioGroup, con el siguiente icono en la Paleta de componentes: El control RadioGroup de Delphi - Paleta estándar

Para indicar los botones de radio que deberán existir en el grupo, tendremos que editar la propiedad Items, que al igual que ocurría con la propiedad Lines del control Memo es una lista de cadenas. Por lo tanto en tiempo de diseño podremos modificar el contenido de esta propiedad mediante el editor de cadenas de Delphi, mientras que en tiempo de ejecución tendremos que usar los métodos Add e Insert de la propiedad Items si queremos añadir un botón de radio al grupo.

Por defecto los botones de radio se reparten en una sola columna, que tendrá tantas filas como botones. Podemos modificar el valor de la propiedad Columns, especificando el número total de controles que se reparte proporcionalmente entre ellas.

La propiedad ItemIndex nos servirá tanto para saber que botón está seleccionado actualmente como para modificar dicha selección. El valor de esta propiedad será un número entero, comprendido entre 0 y el número de botones existentes menos 1. El valor -1 indica que no hay ninguno seleccionado actualmente.

Autor: Lola Cárdenas Luque
Última actualización: 24 de junio de 2001
- El control CheckBox | - El control ListBox
Copyright © 2000 - 2005, Lola Cárdenas Luque - Todos los derechos reservados