我用的WTL。 
在对话框里创建了一个CScrollBar,我想这个CScrollBar的滚动如何与对话框内容联系起来呢,我滚动这个CScrollBar的时候,对话框根本收不到WM_VSCROLL消息。
那位高人帮我解答一下啊??

解决方案 »

  1.   

    首先要设置对话框Style WS_VSCROLL用SendMessage(GetParent()->m_hWnd,WM_VSCROLL,MAKELONG(SB_THUMBTRACK,nPos),0);在dialog中响应WM_VSCROLL
    内容为m_yourscroll.SetScrollInfo();
      

  2.   

    你好,我还是不明白这句话是做什么的?
    SendMessage(GetParent()->m_hWnd,WM_VSCROLL,MAKELONG(SB_THUMBTRACK,nPos),0);
    nPos该等于什么?而且我写了这句话,对话框还是收不到WM_VSCROLL这个消息
      

  3.   

    是这样的,我如果设置对话框 Style WS_VSCROLL。 对话框上会自动出现一个滚动条。这个滚动条发出的WM_VSCROLL是可以收到的。
    但是
    因为这个滚动条的长度是整个窗口的长度,我需要有一个只在窗口上面半截的滚动条,所以就这样创建了一个:
    m_scrollBar.Create(m_hWnd, _rect, NULL, WS_CHILD | WS_VISIBLE | WS_HSCROLL | WS_VSCROLL);
    m_scrollBar.SetScrollRange(_rect.top, _rect.bottom);
    m_scrollBar.ShowScrollBar(TRUE);但是我创建的这个滚动条滚动的时候,不会向对话框发出WM_VSCROLL。  求高手指点我是哪里的错呀??!!!