슬라이더 이동을 제한하는 방법

트랙바 컨트롤 정보에서 설명한 대로 트랙바 범위의 일부를 선택 범위로 설정할 수 있습니다. 선택 범위의 한 가지 목적은 슬라이더의 이동을 제한하여 전체 범위의 일부를 제한하지 않도록 하는 것입니다.

알아야 하는 작업

기술

사전 요구 사항

  • C/C++
  • Windows 사용자 인터페이스 프로그래밍

지침

슬라이더 이동 제한

다음 예제 코드는 선택 범위 밖으로 이동할 때마다 슬라이더의 위치를 다시 설정하여 슬라이더의 이동을 제한합니다.

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

설명

이 코드 조각은 대화 상자의 창 프로시저에 속합니다.

트랙바 컨트롤 사용