Hola Alejandro...
Para seleccionar el contenido de un cuadro de texto cuando recibe el foco,
usa el siguiente codigo...
Dim Seleccion As New "com.sun.star.awt.Selection"
Seleccion.Min = 0
Seleccion.Max = Len( CuadroTexto.getText() )
CuadroTexto.setSelection( Seleccion )
Por supuesto CuadroTexto tiene que ser una variable valida de un cuadro de
texto, puedes hacer un procedimiento generico para verificarlo, algo asi...
Sub SeleccionarTodo(CuadroTexto As Object)
Dim Seleccion As New "com.sun.star.awt.Selection"
If CuadroTexto.getImplementationName = "stardiv.Toolkit.UnoEditControl"
Then
Seleccion.Min = 0
Seleccion.Max = Len( CuadroTexto.getText() )
CuadroTexto.setSelection( Seleccion )
End If
End Sub
Observa como le pasamos el control como argumento, pero de todos modos
verificamos que sea un cuadro de texto.
Te anexo a tu correo un sencillo directorio donde esta implementado esto que
quieres, ademas de seleccionar todo el texto, cambia el colo de fondo del
control para saber con más comodidad donde esta el foco...
Programar en OOoBasic, parece, al principio, un poco engorroso, pero solo es
en apariencia, en cuanto le tomas el modo es muy noble... por supuesto hay
que ponerse a estudiar mucho...
La pagina de nuestro compañero Ariel es un buen comienzo
http://www.arielconstenlahaile.com.ar/ooo/index.php
Si sabes ingles hay mucha documentación de OOo Basic, si no sabes ingles y
sabes poco de programación, te puede servir los apuntes que estoy preparando
para ello
http://www.esnips.com/doc/d92d3790-17a7-4184-a594-4f6b7f499540/Aprendiendo-OOo-Basic
También puedes darte de alta en el grupo que administro de programación en
OOo Basic
http://www.egrupos.net/grupo/ooobasic_es
Saludos...
Mauricio
El día 24/03/08, Alejandro Rivas Morán <[EMAIL PROTECTED]> escribió:
>
> Hola Ariel
>
> Ariel Constenla-Haile <[EMAIL PROTECTED]> escribió:Se
> que es una persona muy ocupada. Permitame comentarle lo que estoy haciendo
> ..!
>
>
> para no correr el riesgo de reinventar la rueda, necesitaría saber
> con claridad que andas buscando.
>
> Si entendí bien la primera vez, deseas controlar el orden en que
> los controles de tu diálogo reciben foco;
>
>
> Esto ya esta funcionando, con la tecla ENTER se hace que pase de un cuadro
> al otro y cuando llega al último, guarda en la hoja los datos y se vuelve a
> ubicar en en primer cuadro. Su sugerencia fue imprescindible para saber
> cuando estaba en el ultimo cuadro.
>
>
> y ahora deseas que el texto se seleccione automáticamente al recibir
> foco el control.
>
>
> Resulta que quienes llenan los datos con frecuencia los ingresan
> incorrectame. Por ejemplo introducen el nombre anterior en la lista y luego
> se dan cuenta cuando ya van por el origen.
>
> Sucede que al regresar el cursor al cuadro del nombre, éste aparece al
> inicio o al final del nombre. Es aqui donde tenía la idea de seleccionar
> para que el digitador no perdiera tiempo en borrar, sino de una vez digitara
> el nombre completo
>
>
>
> 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")
>
>
> Ariel, le estoy muy agradecido.
> Saludos,
>
> Alejandro
>
>
>
>
>
>
>
> ---------------------------------
>
>
> Enviado desde Correo Yahoo!
> Más formas de estar en contacto.
>
--
_______________________________
TODO LO QUE NO ES DADO ES PERDIDO