2012-03-21 18 views
6

En la programación de VBA, ¿es posible ocultar ToolTipText para una barra deslizadora?¿Puedo ocultar ToolTipText para una barra deslizadora?

La imagen siguiente muestra una barra deslizante en un formulario en una base de datos de Microsoft Access. Me gustaría ocultar ToolTipText en el círculo rojo.

La razón por la que quiero hacer esto es porque la barra deslizante no puede mostrar valores decimales (ejemplo: 0,1), por lo que quiero mostrar los valores en un cuadro al lado del control deslizante después de escalar a valores decimales. Sé cómo hacer esto, pero no cómo ocultar el ToolTipText para el control deslizante que muestra solo valores enteros.

Slider Bar

Respuesta

3

No hay manera fácil de quitar ese indicador, ya que no está expuesto a través del control de sí mismo.

Sin embargo, hay un par de soluciones:

  1. subclases el control y la interceptación de mensajes de Windows

    No

    para los débiles de corazón, complejo y excesivo, pero que en teoría podría interceptar ventanas mensajes y soltar los que corresponden a la información sobre herramientas.
    Esto no es fácil en VBA, y ni siquiera lo intentaría.
    Si tienes ganas de profundizar en esto, echar un vistazo a un ejemplo en el KB278379

  2. Sólo mostrar otra cosa.

    Más interesante es la capacidad de cambiar el texto que se muestra a otra cosa:

    Slider with custom text

    para cambiar el texto, controlar el evento Scroll y actualizar Text la propiedad del control deslizante:

    Private Sub MySlider_Scroll() 
        MySlider.Text = "Awesomeness: " & (MySlider.Value * 7.89) 
    End Sub 
    

    El evento no es visible desde las propiedades del control, pero si abre el IDE y selecciona el control deslizante de la lista de controles, podrá crear el código para controlar el evento Scroll:

    Scroll Event handler

+0

solución impresionante, funciona como un encanto. Muchas gracias. – strcompnice

+0

@strcompnice: me alegro de que haya ayudado. –

Cuestiones relacionadas