Hola Alejandro,

Alejandro Rivas Morán escribió:
De cualquier modo, si quieres saber cómo se selecciona texto mediante  
programación: todos los controles que permiten el ingreso de texto  implementan 
la interfaz com.sun.star.awt.XTextComponent, que tiene un método setSelection():
http://api.openoffice.org/docs/common/ref/com/sun/star/awt/XTextComponent.html#setSelection

En cuanto a la definicion de variables con estas propiedades aún no he 
desarrollado la habilidad.

Supongo que sería algo así

dim selecciona as com.sun.star.awt.XTextComponent
y la linea quedaría así:

selecciona.getcontrol("nombre")

no! Has leído el ejemplo que te cité ayer?
http://www.ArielConstenlaHaile.com.ar/ooo/temp/dlg_focus.odt

En el módulo Module2:

Sub AlRecibirFoco( oEv as Object )
        Dim sText$, nLen%
        sText = oEv.Source.getText()
        nLen = Len(sText)
        If nLen Then
                Dim aSelection as New com.sun.star.awt.Selection
                aSelection.Min = 0
                aSelection.Max = nLen
                oEv.Source.setSelection(aSelection)
        End If
End Sub

oEv es el evento que recibes al ser notificado por el cambio de foco. En este caso es un FocusEvent, que junto con otra información importante [1] te informa del control que disparó el evento: oEv.Source es la fuente de ese evento, o sea lo que disparó la llamada a tu subrutina, el control.
Es así que oEv.Source == oDlg.getControl(aName).

Para emplear los métodos de una interfaz NO tienes que definirla, sólo saber si el objeto en cuestión la implementa, y en OOo Basic no hacer nada más que usar el punto como operador y a continuación el método.

oObjeto.metodo()

en nuestro ejemplo:

oEv.Source.setSelection(aSelection)


Cómo saber todas las interfaces que implementa un objeto, == los métodos que puedes emplear? Lo más fácil es emplear Xray: http://es.openoffice.org/files/documents/73/3981/XrayTool_es.odt

Agrega xray oDlg.getControl(XXX), y verás todo lo que puedes hacer con un cuadro de texto (y examina la pseudo propiedad Model).

Como consejo, deberías comenzar por el principio: http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide [2]

En especial http://wiki.services.openoffice.org/wiki/Documentation/BASIC_Guide/API_Intro es una buena introducción a las nociones básicas de la API (qué es un servicio, método, interfaz etc.).


Saludos
Ariel.

[1] http://api.openoffice.org/docs/common/ref/com/sun/star/awt/FocusEvent.html [2] hay/había una versión en castellano, pero la versión en la Wiki es más seguro que esté actualizada.


--
Ariel Constenla-Haile
La Plata, Argentina

[EMAIL PROTECTED]
[EMAIL PROTECTED]

http://www.ArielConstenlaHaile.com.ar/ooo/



"Aus der Kriegsschule des Lebens
                - Was mich nicht umbringt,
        macht mich härter."
                Nietzsche Götzendämmerung, Sprüche und Pfeile, 8.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Responder a