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]