![]() |
![]() |
Capítulo Tercero
Trabajar con Menús
Al usar menús se evita ocupar mucho espacio en las ventanas,
ya que estos sólo aparecen cuando se despliegan explícitamente.
Además, se pueden crear hasta cinco niveles de menús, por
lo que el número de comandos y posibilidades es suficientemente
amplio.
En Visual Basic se trabajo con el editor de menús para
crear, establecer propiedades y modificar los menúes. Para acceder
a él basta con pulsar el siguiente botón en la barra de herramientas:

Este botón sólo estará activo cuando esté
abierto el formulario, ya que el menú siempre está asociado
con un determinado formulario.
El editor de menús presenta las siguientes propiedades que se
pueden aplicar sobre los menús:
Caption: Representa es texto que aparecerá en el menú.
Name: Es el nombre del control. Se puede anteponer el prefijo
mnu más el texto del título del menú.
Checked: Establece si debe aparecer una marca de verificación
a la izquierda del texto del objeto del menú. La marca la puedes
utilizar cuando deseas informar de la opción que está activada
en un momento determinado.
Enabled: Indica si el objeto podrá recibir eventos del
usuario. Si tiene el valor False el elemento aparecerá atenuado
en el menú.
Visible: Indica si el objeto debe mostrarse o no, si se establece
este valor a False, los elementos situados a la derecha ocupan el lugar
del elemento no visible.
WindowsList: Establece el valor que determina si un objeto de
menú mantiene una lista de las ventanas MDI secundarias del formulario
actual.

Utilizando los botones de sangría se puede determinar el nivel
del objeto menú que quieras seleccionar. Así, los títulos
de menú se sitúan en el nivel superior, mostrándose
en la lista inferior del editor de menús, lo más a la izquierda
posible.
En muchas aplicaciones se pueden ver unas barras horizontales en los
menús desplegables que realizan la función de dividir en
secciones dichos menús. Este elemento es conocido como un separador,
y sirve para separar aquellos comandos del menú que tengan un motivo
en común.
Para crear un separador, basta con introducir un guión (-) en
la propiedad Caption. No se puede crear un elemento en un nivel inferior
inmediatamente después de un separador, es decir, no puedes tener
como título de menú un separador.
Al introducir el carácter & el menú está
creando una tecla de acceso a dicho objeto. Esta tecla se representa subrayada
en el texto de menú y respresenta la tecla del teclado que el usuario
puede pulsar para ejecutar la acción. Dicha tecla se corresponde
con la letra que sigue al caracter & en la propiedad Caption del objeto
menú.
Si se trata de un título de menú tienes que usar la tecla
de acceso en combinación con la telca [Alt.]. Una vez abierto
un título de menú y desplegado sus elementos, para acceder
rápidamente a uno de ellos, puedes usar la tecla de acceso directamente.
Tienes que tener cuidado en no utilizar las mismas teclas de acceso
para elementos de un mismo nivel de menú ya que entonces no funcionarán.
El editor de menú también admite la incorporación
de teclas de método abreviado. Las abreviaturas del menú
son combinaciones de teclas que se pueden utilizar en lugar de elegir el
elemento del menú correspondiente.
Para crear una tecla de método abreviado tienes que utilizar
la propiedad Shortcut, a la que puedes acceder al crear el menú
desde el editor de menús.
Cuando en tiempo de diseño seleccionamos la opción
de menú de un formulario que estamos creando, Visual Basic muestra
el procedimiento de evento click de dicho elemento del menú.
En el caso del título del menú, el procedimiento click
tiene como acción predeterminada la de mostrar los elementos de
menú del nivel inferior, por lo que no será necesario tener
que programar esta acción. Esto también se puede aplicar
a los elementos de un menú que son a su vez títulos de submenús.
Em casi todos los casos tienes que utilizar una opción del menú
para descargar el formulario o para finalizar la aplicación. La
opción de texto salir suele ser el más apropiado.
La instrucción Unload descarga de memoria el formulario
que se especifique. Se puede usar de varias formas, por ejemplo si estamos
dentro de un Form llamado frmconsulta podremos salir de él de dos
formas: Una es Unload Me o Unload frmconsulta.
Estos menús aparecen cuando hacemos click con el botón
secundario del ratón, y suele presentar opciones que se corresponden
con las acciones más usuales de la aplicación.
Este menú puede aparecer en cualquier ventana de la aplicación
a diferencia de los menús anteriores.
Un mení contextual no se asocia con un determinado objeto situado
en el formulario, al ser igual que un menú desplegable está
asociado a un formulario.
Para mostrar un menú contextual tienes que usar el método
PopupMenu
del formulario donde lo estés creando. La síntaxis es la
siguiente:
[objeto].PopupMenu NombreMenú[,indicadores[,x[,y[,boldcommand]]]]
donde los corchetes especifican parámetros opcionales. Si no
se especifica el objeto sobre el que se aplica el método, Visual
Basic entenderá que es sobre el formulario actual.
El hecho de tener siempre asociado un menú contextual con
un determinado formulario, no impide que el menú contextual aparezca
cuando se pulsa sobre uno de los controles situados en el formulario. Además
puedes indicar las ubicación exacta del menú contextual.
En el ejemplo anterior de llamada al PopuMenu, los indicadores se encargan
de definir la ubicación respecto a las coordenadas X e Y también
introducidas y el comportamiento del menú contextual.
Los valores que puede tomar este parámetro respecto a la posición
del menú son:
vbPopupMenuLeft.Align (valor 0): valor predeterminado que nos
indica que el lado izquierdo del menú viene dado por el valor X.
vbPopupMenuCenter.Align (valor 4): En este caso el menú
contextual se centra respecto a X.
vbPopupMenuRight.Align (valor 8): El lado derecho del menú
se sitúa en X.
Los valores que puede tomar respecto al comportamiento a seguir son:
vbPopupMenuLeftButton (valor 0): Los elementos del menú
contextual sólo reaccionan a los click del ratón cuando se
use el botón primario del ratón. Este es el valor predeterminado.
vbPopupMenuRightButton (valor 2): Los elementos del menú
contextual reaccionan a los click del ratón cuando se use el botón
primario o secundario.
| Capítulo 4 |