Cambiar el color del control que recibe el foco en formularios en OpenOffice

Cambiar el color de los controles en formulario OpenOffice

Esta sencilla macro te permite cambiar el color del control que recibe el foco en un formulario de OpenOffice.

El primer paso será crear la macro en un módulo del documento, lo que garantiza la portabilidad si el documento junto con el formulario se envía a otro equipo.

Constará de dos subrutinas, que reciben como argumento el control que recibe el foco. Para configurar los colores hemos utilizado la función RGB que permite definir cualquier color a partir del valor de sus componentes Rojo, Verde y Azul.

El código a implementar será el siguiente:

Option Explicit

Sub RecibeFoco( Control As Object )
On Error Resume Next
Control.Source.getModel.Border = 0
Control.Source.getModel.BackgroundColor = RGB(255,130,75)
End Sub

Sub PierdeFoco( Control As Object )
On Error Resume Next
Control.Source.getModel.Border = 1
Control.Source.getModel.BackgroundColor = RGB(200,200,200)
End Sub

Una vez implementado el código, editaremos el formulario en modo diseño.

Haciendo clic con el botón secundario encima del control (1), seleccionaremos desde su menú contextual la opción Campo de control... (2), mostrándose el diálogo Propiedades: Campo formateado. Haremos clic sobre la pestaña Acontecimientos (3), y haremos clic sobre el botón con 3 puntos del evento Recepción de foco (4).

 

Cambiar el color de los controles en formulario OpenOffice

 

Se mostrará el diálogo Acción asignada. Seleccionaremos de nuevo el evento Recepción de foco (5) y haremos clic sobre el botón Macro... (6).

 

Cambiar el color de los controles en formulario OpenOffice

 

Se mostrará el diálogo Selector de macro. Recorre el arbol de la Biblioteca de macros abriendo el módulo correspondiente a tu documento (7) y donde previamente implementaste el código. En Nombre de macro, selecciona RecibeFoco (8). Haz clic sobre el botón Aceptar.

 

Cambiar el color de los controles en formulario OpenOffice

 

Repite este último paso para el evento Al perder el foco, asignando la macro PierdeFoco.

El diálogo Acción asignada quedará como muestra la imagen. Haz clic sobre el botón Aceptar.

 

Cambiar el color de los controles en formulario OpenOffice

 

El diálogo Propiedades: Campo formateado se mostrará como ves en la imagen. Repite el proceso para cada uno de los controles del formulario.

 

Cambiar el color de los controles en formulario OpenOffice

 

Como puedes ver en la siguiente imagen, al editar el formulario, el control que ha perdido el foco toma el color gris que hemos definido en PierdeFoco, mientras que el control que recibe el foco toma el color definido en RecibeFoco. Los controles no editados siguen presentando el color original del formulario.

 

Cambiar el color de los controles en formulario OpenOffice

 

 

Volver
Si te gustó, puedes votar. No precisa registro

No hay reacciones, todavía

Dejar un comentario


Tu dirección email NO será mostrada en este sitio.
(Los saltos de línea se conviertan a <br />)
(Nombre, email y página web)
(Permitir que los usuarios te contactactan vía un formulario de mensajes (tu email NO se hará público.))