Sección de códigos , trucos y ejemplos para visual basic


375 - Crear menú con iconos usando un formulario

<Volver> - Anterior - Siguiente



 

 

Ejemplo que muestra una forma de poder crear menues simples con iconos utilizando un formulario , un control image y un Label para el texto

 

El ejemplo usa un formulario que actua como menú. Este formulario tiene un control image y un control Label (que forman una matriz de control ) para crear en tiempo de ejecución los submenus o items.

 

 

Nota importante : el ejemplo sirve si se va a usar en una estructura de menú simple, ya que si vamos usar Submenus que tienen a su ves otros submenus, no se podrán crear, ya que solo se pueden añadir un solo nivel.

 

Pero lo bueno en este caso de usar un control image , es que podemos usar gráficos con una buena resolución de colores.

Vista previa:

vista del formulario con el menu y los iconos

 

Para crear un menu, se declara una variable que es del tipo del formulario que hace de menu, y también se declara con WithEvents para poder recibir los eventos, y saber cuando se hace un clic, cuando se hace un moseMove, un MouseDown etc..., por ej:

Dim WithEvents menu1 As FormularioQueHaceDeMenu

 

Si vamos a por ejemplo utilizar tres menues, debemos declarar tres variables e instanciarlas , por ejemplo :

' crea el menu 1
Set menu1 = New IcoMenu
' crea el menu 2
Set menu2 = New IcoMenu
' crea el menu 3
Set menu3 = New IcoMenu

 

Luego para poder añadirle los Submenues, hay un método llamado AddItem. En este método se indica el texto o caption, también la imagen, y por último una clave o tag ( estas dos últimas son opcionales ) .

Por ej esto añade tres submenues

Menu1.AddItem "texto", Image1(0).Picture, "clave 1 "
Menu1.AddItem "texto", Image1(1).Picture, "clave 2 "
Menu1.AddItem "texto", Image1(2).Picture, "clave 3 "

 

Nota: la imagen del ícono o gráfico, se puede pasar por ejemplo también leyéndola de disco, ya que el parámetro es de tipo StdPicture, por ej:

menu1.AddItem "Opción 1 ", LoadPicture(Ruta), "clave"

 

Para desplegar el menú , hay un método llamado ShowMenu, y se le debe pasar la posición Left y Top donde se desplegará ( Eso hay que establecerlo a ojo y probando hasta que quede alineado )

Si el menú , se quiere usar como menú contextual, ejecutar el método método ShowMwnu pero sin indicar el Left y Top

' despliega el menu1 como menu contextual
''''''''''''''''''''''''''''''''''''''''''
Private Sub Form_MouseDown(Button As Integer, Shift As Integer, _
                           x As Single, y As Single)
    If Button = 2 Then
        menu1.ShowMenu
    End If
End Sub  

 

Descargar

 


Recursos Visual basic 6.0 - Relacionados

 



Buscar en Recursos vb