Opciones Predefinidas.
Es posible establecer, para ahorrar trabajo al usuario y evitar errores, opciones predefinidas para algunosvalores de parámetros. Para ello emplearemos cuatro botones de opción (ver Figura 1) que permitirán elegir
entre comportamientos que lleven a una forma de esfera, de barra o de tuberÃa.
Figura 1. Formulario con botones de opción.
Los botones de opción se deben agrupar en un mismo control Frame. Sólo uno de los botones puede estar
activo en un momento determinado. Al hacer clic sobre un botón distinto, se activará ese y se desactivará el
anterior. El estar activo en un botón de opción significa que su propiedad Value es igual a True.
El evento predeterminado del botón de opción es el evento Click y en él se incluirá el código necesario para
hacer los cambios pertinentes en la interfaz de usuario. Estos cambios serÃan:
Control: | Acciones: |
optNormal | Habilitar todos los cuadros de texto. |
optEsfera | Valor de txtCentro = 0. Deshabilitar txtCentro. Valor de txtDimX = txtAcuerdo. Deshabilitar txtDimX. Valor de txtDimY = 2 * txtAcuerdo, Deshabilitar txtDimY. Habilitar sólo txtAcuerdo. Si el valor de txtAcuerdo fuera = 0, será necesario cambiar este valor, pudiendo optarse por el mayor valor seleccionado entre de txtDimX o txtDimY/2. En caso de que éstos también fuera = 0, optar por un valor predeterminado, por ejemplo, 10. |
optBarra | Valor de txtCentro = 0, Deshabilitar txtCentro. Valor de txtAcuerdo = 0, Deshabilitar txtAcuerdo. Habilitar txtDimX y txtDimY. |
optTubo | Valor de txtAcuerdo = 0, Deshabilitar txtAcuerdo. Habilitar txtCentro, txtDimX, txtDimY. |
Modificaciones necesarias a los procedimientos ligados a eventos de los Cuadros de Texto.
No basta con introducir los cambios relacionados en el epÃgrafe anterior. Ahora será necesario que cada uno de estos procedimientos compruebe cuál botón de opción está activo y obre en consecuencia. Por ejemplo, si optEsfera está seleccionado, al cambiar el radio del acuerdo, los valores de txtDimX y txtDimY deberán cambiar. La siguiente tabla muestra los factores atener en cuenta en cuanto al condicionamiento según la opción seleccionada.0 | optNormal | Comportamiento establecido en los ejercicios anteriores. |
---|---|---|
1 | optEsfera | txtAcuerdo debe ser mayor que 0. Al variar txtAcuerdo deben variar txtDimX y txtDimY. |
2 | optBarra | txtDimX y txtDimY pueden variar libremente al ser txtAcuerdo = 0. |
3 | optTubo | txtDimX y txtDimY pueden variar libremente al ser txtAcuerdo = 0. |
En resumen, vemos que sólo será necesario comprobar si están activos optNormal y optEsfera. Esta comprobación se facilitarÃa si establecemos una variable global cuyo valor esté relacionado con el botón de opción seleccionado. Esta variable puede ser del tipo entero y asumir los valores de la columna de la izquierda en la tabla que se muestra más arriba. Se puede establecer dicho valor asociado al evento Click del botón de opción correspondiente.
Figura 2. Procedimiento asociado al evento Click del control optBarra.
Otra posibilidad, que permitirÃa mantener el código actual para los eventos de los cuadros de texto serÃa la de modificar el código del evento correspondiente a botón cmdAplicar para que según la opción seleccionada se realizaran los cambios teniendo en cuenta sólo los valores de los controles pertinentes. Por ejemplo, para la opción esfera sólo tener en cuenta el valor de txtAcuerdo.