5.2. La Interfaz de Usuario

Se propone como objetivo inicial la preparación de la interfaz de usuario con los controles necesarios para:

  1. Seleccionar la cara circular. Mientras esta cara no esté seleccionada los demás controles estarán deshabilitados.
  2. Una vez seleccionada la cara, se habilitarán los controles para la entrada de datos (radio de la matriz de agujeros, número de agujeros, diámetro y profundidad de los agujeros) y se mostrará en una etiqueta de texto los siguientes datos:
    Coordenadas X, Y, Z de su centro.
    Radio de la cara seleccionada.
  3. Se calcularán, una vez seleccionada la cara, los valores iniciales que se mostrarán en los cuadros de texto.
  4. Programar la funcionalidad para los eventos de los controles de entrada de datos de manera que se aseguren resultados adecuados, incluyendo la conversión a las unidades del documento.
  5. Se incluirá un botón que realice los cálculos necesarios para comprobar que las dimensiones indicadas para la matriz de agujeros sean correctas en función de las dimensiones de la cara.
  6. La interfaz de usuario debe incorporar un botón para aplicar y otro para cancelar el comando.
Figura 2. Interfaz de usuario.
Crearemos un UserForm (que en nuestro código identificamos como frmMatrizAg). En ese formulario colocaremos cuatro controles TextBox y cuatro Label para identificarlos:

Controles TextBox.

 Name  Text  Enabled
 txtCant  
 False
 txtRad  
 False
 txtDiam  
 False
 txtProf  
 False

Controles Label.

 Name  Caption  Enabled
 lblCant  Número de agujeros
 False
 lblRad  Radio de la matriz
 False
 lblDiam  Diámetro de  los agujeros
 False
 lblProf  Profundidad de  los agujeros
 False

Controles CommandButton.

Además colocaremos cuatro botones de comando (CommandButton) con las siguientes propiedades:

 Name  Caption  Enabled
cmdSeleccionar  Seleccción Cara
 True
cmdConfirmar  Comprobar
 False
cmdAceptar  Aplicar
 False
cmdCancelar  Cancelar
 True

Incluiremos un control Label de nombre lblInfo destinado a enviar mensajes al usuario. El formulario de la Figura 2 incluye un control de imagen (Image) y un par de controles Frame que son opcionales y cuyo fin es exclusivamente el mejorar el aspecto de la interfaz gráfica de usuario.

Variables Globales del Formulario.

Declararemos dos variables globales, en el código del formulario:

Option Explicit
Public oCara As Face
Public oUOM As UnitsOfMeasure