我在frame中用oncreate初始化了CDialogBar和CScrollBar,但是在View中响应ONHSCROLL却什么反应也没有!!不知道是哪里出了问题?

解决方案 »

  1.   

    WM_HSCROLL消息总是被发到ScrollBar的父窗口啦,如果你的CScrollBar创建时设的父窗口是CMainFrame,试试在CMainFrame里重载OnHScroll()。
      

  2.   

    还是不行啊,以下是我的代码,帮帮忙吧!!
    enum {nMin=0};
    enum {nMax=100};
    CDialogBar m_DlgBar;
    ……
    //初始化
    int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) 
    ……
    // TODO: Add your specialized creation code here
      m_DlgBar.Create(this,IDD_DIALOG1,CBRS_TOP,AFX_IDW_DIALOGBAR);
      CScrollBar* pSB=(CScrollBar*)m_DlgBar.GetDlgItem(IDC_SCROLLBAR1);
      pSB->SetScrollRange(nMin,nMax);//范围
      pSB->SetScrollPos((nMax-nMin)/2); //中间位置出现
    ……
    //消息响应
    void CMainFrame::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
    {
    …………