Sub Template_Gallery_Show()
oGDlg = CreateUnoDialog(DialogLibraries.Standard.Dialog1)
oButtonCtrl = CreateUnoService( "com.sun.star.awt.UnoControlImageControl" )
oButtonModel = CreateUnoService( "com.sun.star.awt.UnoControlImageControlModel" )
oGraphicProvider = createUnoService("com.sun.star.graphic.GraphicProvider")
oButtonCtrl.setModel( oButtonModel )
oListener1 = CreateUnoListener("buttons_", "com.sun.star.awt.XMouseListener")
oButtonCtrl.addMouseListener(oListener1)
oGDlg.insert(oButtonCtrl)
oGDlg.execute()
End Sub
sub buttons_mousePressed(oEvent)
msgbox "ok"
End Sub
sub buttons_mouseReleased(oEvent)
End Sub
sub buttons_mouseEntered(oEvent)
End Sub
sub buttons_mouseExited(oEvent)
End Sub
Wie kann ich das Anzeigen der Basic IDE verhindern? (Wenn ich den Listener entferne tritt das Problem nicht auf.)
Ist das ein Bug im MouseListener?
Grüße,
Stefan
Zuletzt geändert von schnumbl am Do, 22.12.2011 18:01, insgesamt 1-mal geändert.
Dim oGDlg As Object
Dim oButtonCtrl(100) as object
Dim oListener(100) as object
Dim image_num as Integer
Dim ypos(100) As Long
Dim ysize As Long
Sub Template_Gallery_Show()
'...
image_num = 50
For k = 0 To image_num - 1
'...
oButtonCtrl(k) = CreateUnoService( "com.sun.star.awt.UnoControlImageControl" )
oButtonModel = CreateUnoService( "com.sun.star.awt.UnoControlImageControlModel" )
oButtonCtrl(k).setModel( oButtonModel )
oListener(k) = CreateUnoListener("VeuszAddIn.Template_Gallery.buttons_", "com.sun.star.awt.XMouseListener")
oButtonCtrl(k).addMouseListener(oListener(k))
oGDlg.insert(oButtonCtrl(k))
'...
oGDlg.execute()
End If
End Sub
sub buttons_mousePressed(oEvent)
'...
'remove all listeners
for k = 0 to image_num-1
oButtonCtrl(k).removeMouseListener(oListener(k))
next k
'close dialog
oGDlg.endExecute()
End Sub
sub buttons_mouseReleased(oEvent)
End Sub
sub buttons_mouseEntered(oEvent)
End Sub
sub buttons_mouseExited(oEvent)
End Sub