CWnd::OnHScroll

来源:互联网 发布:淘宝开店阿里巴巴进货 编辑:程序博客网 时间:2024/06/01 08:51
CWnd::OnHScroll

当用户单击窗口的水平滚动条记录时,框架调用该成员函数。

afx_msg void OnHScroll(   UINT nSBCode,   UINT nPos,   CScrollBar* pScrollBar );
参数
备注

提供反馈的应用程序通常使用 SB_THUMBTRACK 滚动条代码,在滚动框拖动时。

如果应用程序移动滚动条控件的内容,它还必须重置滚动框的位置具有 SetScrollPos 成员函数。

说明说明

此成员函数由框架调用提供您的应用程序处理Windows消息。 当接收消息,参数传递给函数以反映结构接收的参数。 如果调用此函数的基类实现,该实现将使用参数最初用消息您提供给函数而非参数。

示例
void CMdiView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar){   // Get the minimum and maximum scroll-bar positions.   int minpos;   int maxpos;   GetScrollRange(SB_HORZ, &minpos, &maxpos);    maxpos = GetScrollLimit(SB_HORZ);   // Get the current position of scroll box.   int curpos = GetScrollPos(SB_HORZ);   // Determine the new position of scroll box.   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 SB_LINELEFT:      // Scroll left.      if (curpos > minpos)         curpos--;      break;   case SB_LINERIGHT:   // Scroll right.      if (curpos < maxpos)         curpos++;      break;   case SB_PAGELEFT:    // Scroll one page left.   {      // Get the page size.       SCROLLINFO   info;      GetScrollInfo(SB_HORZ, &info, SIF_ALL);      if (curpos > minpos)      curpos = max(minpos, curpos - (int) info.nPage);   }      break;   case SB_PAGERIGHT:      // Scroll one page right.   {      // Get the page size.       SCROLLINFO   info;      GetScrollInfo(SB_HORZ, &info, SIF_ALL);      if (curpos < maxpos)         curpos = min(maxpos, curpos + (int) info.nPage);   }      break;   case SB_THUMBPOSITION: // Scroll to absolute position. nPos is the position      curpos = nPos;      // of the scroll box at the end of the drag operation.      break;   case SB_THUMBTRACK:   // Drag scroll box to specified position. nPos is the      curpos = nPos;     // position that the scroll box has been dragged to.      break;   }   // Set the new position of the thumb (scroll box).   SetScrollPos(SB_HORZ, curpos);   CView::OnHScroll(nSBCode, nPos, pScrollBar);}
原创粉丝点击