다음을 통해 공유


표준 스크롤 막대에 대한 키보드 인터페이스를 만드는 방법

스크롤 막대 컨트롤은 기본 제공 키보드 인터페이스를 제공하지만 표준 스크롤 막대는 제공하지 않습니다. 표준 스크롤 막대에 대한 키보드 인터페이스를 구현하려면 창 프로시저가 WM_KEYDOWN 메시지를 처리하고 wParam 매개 변수로 지정된 가상 키 코드를 검사해야 합니다. 가상 키 코드가 화살표 키에 해당하는 경우 창 프로시저는 적절한 스크롤 막대 요청 코드로 설정된 wParam 매개 변수의 낮은 순서 단어와 함께 WM_HSCROLL 또는 WM_VSCROLL 메시지를 자신에게 보냅니다.

예를 들어, 사용자가 위쪽 화살표 키를 누르면 창 프로시저는 wParam이 VK_UP인 WM_KEYDOWN 메시지를 수신합니다. 이에 대한 응답으로 창 프로시저는 SB_LINEUP 요청 코드로 설정된 wParam의 낮은 순서 단어가 있는 WM_VSCROLL 메시지를 자신에게 보냅니다.

알아야 하는 작업

기술

필수 구성 요소

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

지침

표준 스크롤 막대용 키보드 인터페이스 만들기

다음 코드 예는 표준 스크롤 막대에 대한 키보드 인터페이스를 포함하는 방법을 보여 줍니다.

    case WM_KEYDOWN: 
    {
        WORD wScrollNotify = 0xFFFF;

        switch (wParam) 
        { 
            case VK_UP: 
                wScrollNotify = SB_LINEUP; 
                break; 
 
            case VK_PRIOR: 
                wScrollNotify = SB_PAGEUP; 
                break; 
 
            case VK_NEXT: 
                wScrollNotify = SB_PAGEDOWN; 
                break; 
 
            case VK_DOWN: 
                wScrollNotify = SB_LINEDOWN; 
                break; 
 
            case VK_HOME: 
                wScrollNotify = SB_TOP; 
                break; 
 
            case VK_END: 
                wScrollNotify = SB_BOTTOM; 
                break; 
        } 
 
        if (wScrollNotify != -1) 
            SendMessage(hwnd, WM_VSCROLL, MAKELONG(wScrollNotify, 0), 0L); 
 
        break; 
    }

스크롤 막대 사용

Windows 공용 컨트롤 데모(CppWindowsCommonControls)