Bienvenidos a open-office.es, web no oficial en español para OpenOffice y derivados

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

 

 

No hay reacciones, todavía

Dejar un comentario


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

Otros usuarios vieron...

  • Función LetraNif

    Esta función devuelve la letra del NIF asociada a un número de DNI

    Function LetraNif(dni As Long) As String
    LetraNif = Mid("TRWAGMYFPDXBNJZSQVHLCKE", (dni Mod 23) + 1, 1)
    End Function
  • Macro Imprimir sólo lo seleccionado para Calc

    Seleccionar un rango de celdas e imprimirlas no es sencillo con Calc; necesitamos definir previamente un rango de impresión.

    Esta sencilla macro que describimos en este post realizará todo ese t

  • Poner en negrita parte de un texto en una celda de OpenOffice Calc
    Macro para OpenOffice Calc

    En el Foro Oficial de Apache OpenOffice un usuario planteó esta pregunta:

    ¿Existe alguna forma de poner en negrita parte del texto en varias celdas de una hoja de c

Patrocinado por SBS  • ©2015 by slv-es