void CScrollBarDlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
        ……
        ……
        ……
       // Set the new position of the thumb (scroll box).
pScrollBar->SetScrollPos(curpos);
         MessageBox("Hello!");
CDialog::OnHScroll(nSBCode, nPos, pScrollBar);
}
程序中点击滚动条时MessageBox为什么弹出来两次?而且是连住的,点击了第一个的确定按钮以后立刻弹出第二个来,想知道窗口处理这个消息的过程

解决方案 »

  1.   

    而且是连住的,点击了第一个的确定按钮以后立刻弹出第二个来
    =========================================
    switch (nSBCode)
    {
    case SB_LEFT:      // Scroll to far left.
    curpos = minpos;
    break;case SB_RIGHT:      // Scroll to far right.
    curpos = maxpos;
    break;case SB_ENDSCROLL:   // End scroll.
    break;
    .....在case中加就知道了
      

  2.   

    看msdn上
    OnHScroll(UINT nSBCode...第一个参数的意思
      

  3.   

    只点击了一下,nSBCode肯定只有一个值了,怎么会弹出两次呢,我调试了一下,好象第二次是在执行一段汇编代码时弹出来的
      

  4.   

    果然是nSBCode的问题,原来点击一次它会有好几个值,明白了,谢谢啊!