Komunikaty powiadomień suwaka
Kontrolka suwaka powiadamia okno nadrzędne akcji użytkownika przez wysłanie WM_HSCROLL nadrzędnej lub WM_VSCROLL komunikatów w zależności od orientacji kontrolki suwaka. Aby obsłużyć te komunikaty, dodaj programy obsługi dla WM_HSCROLL i WM_VSCROLL komunikatów do okna nadrzędnego. Funkcje składowe OnHScroll i OnVScroll zostaną przekazane kod powiadomienia, położenie suwaka i wskaźnik do obiektu CSliderCtrl . Należy pamiętać, że wskaźnik jest typu CScrollBar *
, mimo że wskazuje CSliderCtrl
obiekt. Jeśli musisz manipulować kontrolką suwaka, może być konieczne wpisenie tego wskaźnika.
Zamiast używać kodów powiadomień paska przewijania, kontrolki suwaka wysyłają inny zestaw kodów powiadomień. Kontrolka suwaka wysyła TB_BOTTOM, TB_LINEDOWN, TB_LINEUP i TB_TOP kody powiadomień tylko wtedy, gdy użytkownik wchodzi w interakcję z kontrolką suwaka za pomocą klawiatury. Komunikaty powiadomień TB_THUMBPOSITION i TB_THUMBTRACK są wysyłane tylko wtedy, gdy użytkownik używa myszy. Kody powiadomień TB_ENDTRACK, TB_PAGEDOWN i TB_PAGEUP są wysyłane w obu przypadkach.
W poniższej tabeli wymieniono komunikaty powiadomień kontrolki suwaka oraz zdarzenia (kody kluczy wirtualnych lub zdarzenia myszy), które powodują wysyłanie powiadomień. (Aby uzyskać listę standardowych kodów kluczy wirtualnych, zobacz Winuser.h.)
Komunikat z powiadomieniem | Zdarzenie powodujące wysłanie powiadomienia |
---|---|
TB_BOTTOM | VK_END |
TB_ENDTRACK | WM_KEYUP (użytkownik wydał klucz, który wysłał odpowiedni kod klucza wirtualnego) |
TB_LINEDOWN | VK_RIGHT lub VK_DOWN |
TB_LINEUP | VK_LEFT lub VK_UP |
TB_PAGEDOWN | VK_NEXT (użytkownik kliknął kanał poniżej lub z prawej strony suwaka) |
TB_PAGEUP | VK_PRIOR (użytkownik kliknął kanał powyżej lub z lewej strony suwaka) |
TB_THUMBPOSITION | WM_LBUTTONUP po komunikacie powiadomienia TB_THUMBTRACK |
TB_THUMBTRACK | Przesuwanie suwaka (użytkownik przeciągnął suwak) |
TB_TOP | VK_HOME |