Sección de códigos , trucos y ejemplos para visual basic
<Volver> - Anterior - Siguiente
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:
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
Buscar en Recursos vb
Recursos visual basic - Buscar - Privacidad - Copyright © 2005 - 2009 - www.recursosvisualbasic.com.ar