Partager via


Guide pratique pour limiter le mouvement du curseur

Comme décrit dans À propos des contrôles trackbar, il est possible de définir une partie de la plage de la barre de suivi en tant que plage de sélection. L’un des objectifs d’une plage de sélection peut être de limiter le mouvement du curseur, ce qui rend certaines parties de la plage complète hors limites.

Bon à savoir

Technologies

Prérequis

  • C/C++
  • Programmation de l’interface utilisateur Windows

Instructions

Limiter le mouvement du curseur

L’exemple de code suivant limite le mouvement du curseur en réinitialisant la position du curseur chaque fois qu’il est déplacé en dehors de la plage de sélection.

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;
    }

Notes

Cet extrait de code fait partie de la procédure Fenêtre d’une boîte de dialogue.

Utilisation des contrôles Trackbar