Bom dia, alguém sabe como criar aquele menu popup no formulário calc via macro, por exemplo: quando colocar o mouse em cima de um botão me aparecer um menu popup com opções.
@JúnioVieira, seria mais ou menos isso?
Sub RegisterClickHandler()
doc = ThisComponent
l = CreateUnoListener("Handler_", "com.sun.star.awt.XMouseClickHandler")
doc.getCurrentController().addMouseClickHandler(l)
End Sub
Function Handler_disposing(ev)
End Function
Function Handler_mousePressed(ev)
Handler_mousePressed = False
End Function
Function Handler_mouseReleased(ev)
If ev.Buttons = com.sun.star.awt.MouseButton.LEFT Then
async(Array())
End If
Handler_mouseReleased = False
End Function
Sub ShowPopup
oPopup = CreateUnoService("com.sun.star.awt.PopupMenu")
oPopup.insertItem(1, "item1", 0, 0)
oPopup.insertItem(2, "item2", 0, 1)
oCompWin = ThisComponent.getCurrentController()._
getFrame().getComponentWindow()
n = oPopup.execute(oCompWin, _
CreateUnoStruct("com.sun.star.awt.Rectangle"), 0)
If n > 0 Then
msgbox n
End If
End Sub
Sub async(args)
oASync = CreateUnoService( _
"com.sun.star.awt.AsyncCallback")
oCallback = CreateUnoListener("Callback_", _
"com.sun.star.awt.XCallback" )
oASync.addCallback(oCallback, args)
End Sub
Sub Callback_notify( aData )
ShowPopup()
End Sub
Créditos: [Solved] Pop up menu in a Calc document (View topic) • Apache OpenOffice Community Forum
Conrado muito obrigado por sua resposta, é exatamente isso que preciso, muito bom vc ter colocado a fonte porque lá consegui pegar uma macro mais completa, a dificuldade que estou tendo é conseguir fazer o popup abrir onde eu clicar no formulário e não na planilha, se eu conseguir posto aqui como complemento. Obrigado!