Delen via


Beweging van schuifregelaar beperken

Zoals beschreven in Over Trackbar-besturingselementen, is het mogelijk om een deel van het trackbarbereik in te stellen als een selectiebereik. Een doel van een selectiebereik kan zijn om de verplaatsing van de schuifregelaar te beperken, waardoor sommige delen van het volledige bereik off-limits zijn.

Wat u moet weten

Technologieën

Voorwaarden

  • C/C++
  • Programmeren van Windows-gebruikersinterface

Aanwijzingen

Beweging van schuifregelaar beperken

De volgende voorbeeldcode beperkt de verplaatsing van de schuifregelaar door de positie van de schuifregelaar opnieuw in te stellen wanneer deze buiten het selectiebereik wordt verplaatst.

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

Opmerkingen

Dit codefragment maakt deel uit van de vensterprocedure van een dialoogvenster.

Besturingselementen voor de trackbar gebruiken