On Fri, 18 May 2007 20:31:42 -0500, Ariel <[EMAIL PROTECTED]> wrote:
[EMAIL PROTECTED] escribió:
Buenas a todos:
Estoy probando el detector de eventos que me envió Santiago Bosio
(Muchas gracias de corazón).
Necesito saber como tener un dialogo que se mantenga arriba y que
permita seguir escribiendo y trabajando en writer. Es decir No-Modal
(si no me equivoco).
Gracias a todos.
WhiteWolf
Mira mi ejemplo de un diálogo para escribir símbolos en
http://www.arielconstenlahaile.com.ar/ooo/writer.php
http://www.arielconstenlahaile.com.ar/ooo/docs/ARIEL_OOoBASIC_Dialogo_SIMBOLOS.odt
se trata de un truco, porque los diálogos basic SON MODALES.
Saludos,
Ariel
La Plata
Argentina.
Quizas se pueda mover a la lista de desarrollo [EMAIL PROTECTED]
Tambien corri el documento de Ariel, muy bueno. Recuerdo un snippet de
Andrew pitonyak para hacer esto una barra de herramientas. Quizas daria
una mejor interfaz que en una ventana flotante.
Sub AddButtonToToolbar
Dim sToolbar$ : sToolbar = "private:resource/toolbar/standardbar"
Dim sCmdID$ : sCmdID = "macro:///Standard.Module1.Test()"
Dim sDocType$ : sDocType = "com.sun.star.text.TextDocument"
Dim sSupplier$
Dim oSupplier
Dim oModuleCfgMgr
Dim oImageMgr
Dim oToolbarSettings
Dim bHasButton As Boolean
Dim nCount As Integer
Dim oToolbarButton()
Dim nToolbarButtonCount As Integer
Dim i%, j%
REM Retrieve the module configuration manager from the
REM central module configuration manager supplier
sSupplier = "com.sun.star.ui.ModuleUIConfigurationManagerSupplier"
oSupplier = CreateUnoService(sSupplier)
REM Retrieve the module configuration manager with module identifier
REM *** See com.sun.star.frame.ModuleManager for more information
oModuleCfgMgr = oSupplier.getUIConfigurationManager( sDocType )
oImageMgr = oModuleCfgMgr.getImageManager()
oToolbarSettings = oModuleCfgMgr.getSettings( sToolbar, True )
REM Look for our button with the CommandURL property.
bHasButton = False
nCount = oToolbarSettings.getCount()
For i = 0 To nCount-1
oToolbarButton() = oToolbarSettings.getByIndex( i )
nToolbarButtonCount = ubound(oToolbarButton())
For j = 0 To nToolbarButtonCount
If oToolbarButton(j).Name = "CommandURL" Then
If oToolbarButton(j).Value = sCmdID Then
bHasButton = True
End If
End If
Next
Next
Dim oImageCmds(0)
Dim oImages(0)
Dim oImage
REM *** Check if image has already been added
If Not oImageMgr.hasImage( 0, sCmdID ) Then
REM Try to load the image from the file URL
oImage = GetImageFromURL( "file:///tmp/test.bmp" )
If Not isNull( oImage ) Then
REM *** Insert new image into the Writer image manager
oImageCmds(0) = sCmdID
oImages(0) = oImage
oImageMgr.insertImages( 0, oImageCmds(), oImages() )
End If
End If
If Not bHasButton Then
sString = "My Macro's"
oToolbarItem = CreateToolbarItem( sCmdID, "Standard.Module1.Test" )
oToolbarSettings.insertByIndex( nCount, oToolbarItem )
oModuleCfgMgr.replaceSettings( sToolbar, oToolbarSettings )
End If
End Sub
Function GetImageFromURL( URL as String ) as Variant
Dim oMediaProperties(0) As New com.sun.star.beans.PropertyValue
Dim sProvider$ : sProvider = "com.sun.star.graphic.GraphicProvider"
Dim oGraphicProvider
REM Create graphic provider instance to load images from files.
oGraphicProvider = createUnoService( sProvider )
REM Set URL property so graphic provider is able to load the image
oMediaProperties(0).Name = "URL"
oMediaProperties(0).Value = URL
REM Retrieve the com.sun.star.graphic.XGraphic instance
GetImageFromURL = oGraphicProvider.queryGraphic( oMediaProperties() )
End Function
Function CreateToolbarItem( Command$, Label$ ) as Variant
Dim aToolbarItem(3) as new com.sun.star.beans.PropertyValue
aToolbarItem(0).Name = "CommandURL"
aToolbarItem(0).Value = Command
aToolbarItem(1).Name = "Label"
aToolbarItem(1).Value = Label
aToolbarItem(2).Name = "Type"
aToolbarItem(2).Value = 0
aToolbarItem(3).Name = "Visible"
aToolbarItem(3).Value = true
CreateToolbarItem = aToolbarItem()
End Function
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]