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

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

예를 들어 사용자가 UP 화살표 키를 누르면 창 프로시저는 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)