滚动条信息结构体SCROLLINFO中元素什么意思?

juliajujuli 2008-12-10 01:44:58
滚动条信息结构体SCROLLINFO中元素 int nMin; int nMax; UINT nPage; 分别表示什么意思呢?MSDN上的解释不是很明白啊。
还有那个OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)的第一个参数nSBCode
SB_LEFT SB_RIGHT是怎样的状态?
...全文
517 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
hyb_paul 2010-06-30
  • 打赏
  • 举报
回复
在OnLeftButtonDown中调用SetFocus 就能响应了
juliajujuli 2008-12-10
  • 打赏
  • 举报
回复
Scroll to far left.什么意思?把滑动块往左滑很远?我设了断点,然后把滑动块滑来滑去也不会触发断点,所以我不明白
luowin 2008-12-10
  • 打赏
  • 举报
回复
MSDN上的解释已经相当明白了呀?
void CMyView::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{
// Get the minimum and maximum scroll-bar positions.
int minpos;
int maxpos;
pScrollBar->GetScrollRange(&minpos, &maxpos);
maxpos = pScrollBar->GetScrollLimit();

// Get the current position of scroll box.
int curpos = pScrollBar->GetScrollPos();

// 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;
pScrollBar->GetScrollInfo(&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;
pScrollBar->GetScrollInfo(&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).
pScrollBar->SetScrollPos(curpos);

CView::OnHScroll(nSBCode, nPos, pScrollBar);
}

16,467

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧