https://foro.gambas-es.org/viewtopic.php?f=1&t=52&p=554#p554
-----------------------------------
soplo
Domingo, 18 Octobre 2009, 19:49

Re: Barras De Menús En Gambas
-----------------------------------
Acabo de probar como funcionan los popup menu.

Tan simple como esto.

En un formulario poner dos variables publicas
[code linenumbers=false syntax=gambas]Public BarraMenu as menu
Public ItemMenu as menu[/code]

Para crearlos (yo voy a hacerlo en form_open por comodidad)
[code linenumbers=false syntax=gambas]public form_open()

BarraMenus=new menu(me) '--> crear el menu

itemmenu=new(menu(BarraMenus) as "PrimerItem" '---> crear el primer item
ItemMenu.text="Primera opción"

itemmenu=new(menu(BarraMenus) as "SegundoItem" '---> crear el segundo item
ItemMenu.text="Segunda opción"

itemmenu=new(menu(BarraMenus) as "TercerItem" '---> crear el tercer item
ItemMenu.text="Tercera opción"

...
end [/code]

Ahora programar lo que harán las opciones del menu
[code linenumbers=false syntax=gambas]public sub PrimerItem_click()
message.info("primera opción")
end sub

public sub SegundoItem_click()
message.info("Segunda opción")
end sub

public sub TercerItem_click()
message.info("Tercera opción")
end sub[/code]

Ahora ponemos dos objetos en el formulario, los que querais. Yo pongo dos botones por comodidad buton1 y buton2

Por último asociar ese menú popup ya funcional a los dos botones. Quieo que el menu salga en la posición x e y de cada control.

[code linenumbers=false syntax=gambas]Public sub Buton1_MouseDown()
if mouse.right then
   BarraMenus.popup(last.x, last.y)
endif

Public sub Buton2_MouseDown()
if mouse.right then
   BarraMenus.popup(last.x, last.y)
endif
[/code]

Como veis las dos rutinas hacen lo mismo. Podría haber hecho una rutina común para ambas, pero me ha parecido mejor por claridad dejarlas separadas para que se vea el funcionamiento del menú popup.

¡Que simple!
 :mryellow:


