2012-03-21 13 views
6

Czy programowanie VBA pozwala ukryć ToolTipText dla paska suwaka?Czy mogę ukryć ToolTipText dla paska suwaków?

Poniższy rysunek przedstawia pasek suwaka w formularzu w bazie danych programu Microsoft Access. Chciałbym ukryć ToolTipText w czerwonym kółku.

Powodem, dla którego chcę to zrobić, jest to, że pasek suwakowy nie może pokazywać wartości dziesiętnych (przykład: 0,1), więc chcę wyświetlić wartości w polu obok suwaka po skalowaniu do wartości dziesiętnych. Wiem, jak to zrobić, ale nie jak ukryć ToolTipText dla Slider, który pokazuje tylko wartości całkowite.

Slider Bar

Odpowiedz

3

Nie ma łatwego sposobu, aby usunąć ten wskaźnik, gdyż nie jest wystawiony przez samą kontrolą.

Jednakże, istnieje kilka rozwiązań:

  1. instacji kontroli oraz przechwytywanie wiadomości Okna

    Nie dla osób o słabym sercu, kompleks i przesadą, ale teoretycznie może przechwycić okna wiadomości i upuść te, które odpowiadają etykietce narzędzi.
    To wcale nie jest łatwe w VBA i nawet bym tego nie spróbował.
    Jeśli czujesz, zagłębiając się to, spojrzeć na przykład w KB278379

  2. Wystarczy wyświetlić coś innego.

    Bardziej interesujące jest zdolność do zmiany wyświetlanego tekstu na coś innego:

    Slider with custom text

    Aby zmienić tekst, obsłużyć zdarzenia Scroll i aktualizować suwaka Text właściwość:

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

    Zdarzenie nie jest widoczne z samych właściwości kontrolki, ale jeśli otworzysz IDE i wybierzesz suwak z listy kontrolek, będziesz mógł utworzyć kod do obsługi zdarzenia Scroll:

    Scroll Event handler

+0

Niesamowite rozwiązanie działa jak czar. Dziękuję Ci bardzo. – strcompnice

+0

@strcompnice: cieszę się, że pomogło. –

Powiązane problemy