Copiar el color del texto en el color hover del texto

Tengo un código sacado que soluciona el problema del color de los botones cuando exportas el contenido de una base de datos a otra, debido a que pone UsarTema en False. Con este código, lo que hace es revisar cada uno de los formularios y volver a poner ese UsarTema en True. Sin embargo, el hover del texto del botón lo quiero en el mismo color que el color normal, pero no me lo copia, me lo deja en color blanco. A ver si alguien me puede dar orientación de cómo solucionar, creo que el problema está en ctl. BackColor.

Private Sub UsarTema_Click()
    Dim strForm As String, db As DAO.Database
    Dim doc As DAO.Document
    Dim F As Object
    Set db = CurrentDb
    For Each doc In db.Containers("Forms").Documents
    strForm = doc.Name
    DoCmd.OpenForm strForm, acDesign
    Set F = Access.Forms(doc.Name)
       Dim ctl As control
       For Each ctl In F
               If ctl.ControlType = acCommandButton Then
                   If ctl.UseTheme = False Then
                       ctl.UseTheme = True
                       ctl.HoverColor = ctl.BackColor
                       ctl.PressedColor = ctl.BackColor
                   Else
                       ctl.HoverColor = ctl.BackColor
                       ctl.PressedColor = ctl.BackColor
                   End If
               End If
       Next ctl
       Set ctl = Nothing
       DoCmd.Close acForm, strForm, acSaveYes
    Next doc
    Set doc = Nothing
    Set db = Nothing
End Sub

2 respuestas

Respuesta
2

Si colocas el cursor sobre esa propiedad y pulsas el botón de ayuda ( la tecla f1), lo más probable es que averigües como es en VBA y también tengas algún ejemplo de uso.

Muchas gracias, pero no funciona. 

De hecho, esta tarde he estado buscando en la documentación de Access y no he encontrado nada.

Haz una cosa: en el editor de VBA pulsa F4 -> te abrirá la ventana de propiedades. En ella busca el botón y vete mirando a qué propiedades corresponden: hay muchas Hover... y también Pressed...

¡Hecho! Al final ha quedado así:

ctl.HoverForeColor = ctl.ForeColor

Muchas gracias.

Respuesta
1

Ahí os dejo las dos propiedades que no sé cómo traducir a VBA. El código sé que tiene que ser algo así:

                       ctl.??????? = ctl.ForeColor
                       ctl.??????? = ctl.ForeColor
La pregunta no admite más respuestas

Más respuestas relacionadas