Página 1 de 1

[RESUELTO] Macro sencilla para implementar un setFocus()

NotaPublicado: Mar Dic 05, 2017 6:22 pm
por fabirx
Saludos para toda la comunidad. Pues como está en el titulo, estoy trabajando en una pequeña aplicación usando OO Calc 4.1 para gestionar la información de unos pacientes. La idea es que haga lo siguiente.

* Al digitar los datos en cada TextField, cuando se pulse Enter, pase a la siguiente caja de texto. (Opcional)
* Cuando se pulse el botón Guardar, se pasen los datos a la Hoja2, guarde el archivo y automáticamente se enfoque en el TextField1 (la propiedad setFocus según entiendo).

En este paso es donde he tenido problemas: Al pulsar el botón, se crean los datos en Hoja2 y se limpian los TextField, pero no me deja aplicar el setFocus (No se encontró la propiedad).

Les agradezco su ayuda. Buen día para todos.

Re: Macro sencilla para implementar un setFocus()

NotaPublicado: Mié Dic 06, 2017 10:28 pm
por gustavodiaz00
Hola fabirx para aplicar de setFocus u otras propiedades debes asignar el control a una variable objeto para poder acceder a ellas, por ejemplo

Código: Seleccionar todo   Expandir vistaContraer vista
     Dim  ObjetoControl As Object
     ObjetoControl = Dlg.getControl("TextField1")
     ObjetoControl.Text = "Hola Mundo"                      'Accedemos a la propiedad texto
     ObjetoControl.setFocus( )                              'Recibe el foco
     ObjetoControl.setEnable( True )                        'False   Lo activamos o desactivamos
     ObjetoControl.addMouseListener(MouseClick)             'Agregamos las rutinas de control del mouse
     ObjetoControladdKeyListener(oKeyListener)              'Agregamos las rutinas de control de teclado


La declaración Dim ObjetoControl As Object puede ser evitada dado que funciona igual.

Espero que no me mal entiendas pero casi todas las dudas que se nos presentan ya fueron planteadas y resueltas no dejes de buscar que lo mas probable es que alles la solución.
El lenguaje es muy amplio y encontrarás que se pueden hacer muchas cosas muy buenas, no te desanimes, adelante.

aca te dejo el ejemplo con una pequeña modificación.

Prueba App Archivo.ods
(12.89 KiB) 85 veces


Saludos.

Re: Macro sencilla para implementar un setFocus()

NotaPublicado: Dom Dic 10, 2017 4:29 am
por fabirx
Te agradezco la ayuda, realmente era lo que necesitaba. Adicionalmente encontré la forma de navegar a través de los TextField con la tecla Enter y ya la mini aplicación funciona como se requería.

Admito que no había encontrado un código sencillo, ya que todo lo que había encontrado era un código demasiado complejo que al modificarlo no funcionaba en lo absoluto. De nuevo muchas gracias a toda la comunidad. Saludos.