Jak ograniczyć ruch suwaka
Zgodnie z opisem w About Trackbar Controls, można ustawić część zakresu pasków torowych jako zakres wyboru. Jednym z celów zakresu wyboru może być ograniczenie ruchu suwaka, tak aby niektóre części pełnego zakresu były niedostępne.
Co musisz wiedzieć
Technologie
Warunki wstępne
- C/C++
- Programowanie interfejsu użytkownika systemu Windows
Instrukcje
Ogranicz ruch suwaka
Poniższy przykładowy kod ogranicza ruch suwaka przez zresetowanie pozycji suwaka za każdym razem, gdy zostanie przeniesiony poza zakres zaznaczenia.
case WM_HSCROLL:
{
HWND hTrackbar = GetDlgItem(hDlg, IDC_SLIDER1);
if (hTrackbar == (HWND)lParam)
{
int newPos = SendMessage(hTrackbar, TBM_GETPOS, 0, 0);
int selStart = SendMessage(hTrackbar, TBM_GETSELSTART, 0, 0);
int selEnd = SendMessage(hTrackbar, TBM_GETSELEND, 0, 0);
if (newPos > selEnd)
{
SendMessage(hTrackbar, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)selEnd);
}
else if (newPos < selStart)
{
SendMessage(hTrackbar, TBM_SETPOS, (WPARAM)TRUE, (LPARAM)selStart);
}
}
break;
}
Uwagi
Ten fragment kodu byłby częścią procedury okna dialogowego.
Tematy pokrewne