본문 바로가기

Windows/MFC

CScrollView를 분할윈도우로 붙였더니 휠로 스크롤 되지않습니다

우선 WM_MOUSEWHEEL 메세지 처리 해 주어야 합니다.
예를 들어.

BOOL 스크롤뷰클래스::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt)
{
    // delta값이 - 일경우(아래쪽으로 wheel scrll)
    CPoint pt = GetScrollPosition ();    
    if( zDelta <= 0 ) //휠아래로
    {
        pt.y += 50;        // 스크롤 감도 조절.
        DWORD dw = SB_LINEDOWN;
        SendMessage (WM_VSCROLL, dw, 0);
    }
    else                // 휠위로
    {
        pt.y -= 50;        // 스크롤 감도 조절.
        DWORD dw = SB_LINEUP;
        SendMessage (WM_VSCROLL, dw, 0);
    }
    ScrollToPosition (pt);

    return 스크롤뷰클래스::OnMouseWheel(nFlags, zDelta, ppt);
}

대강 이렇게 하시면 될 듯,
뷰가 포커스를 가지고 있을 때 스크롤이 먹습니다.