Como limitar o movimento do controle deslizante
Conforme descrito em Sobre os controles da barra de rastreamento, é possível definir parte do intervalo da barra de trilha como um intervalo de seleção. Um propósito de um intervalo de seleção pode ser limitar o movimento do controle deslizante, tornando algumas partes do intervalo completo fora dos limites.
O que você precisa saber
Tecnologias
Pré-requisitos
- C/C++
- Programação da interface do usuário do Windows
Instruções
Limitar o movimento do controle deslizante
O código de exemplo a seguir limita o movimento do controle deslizante redefinindo a posição do controle deslizante sempre que ele for movido para fora do intervalo de seleção.
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;
}
Comentários
Esse trecho de código faria parte do Procedimento de janela de uma caixa de diálogo.
Tópicos relacionados