我正在尝试设置每个滚动条的拇指大小(水平和垂直)。
首先我初始化SCROLLINFO
结构:
SCROLLINFO info{};
info.cbSize = sizeof(info);
info.fMask = SIF_PAGE;
然后我为每个滚动条调用SetScrollInfo
函数:
info.nPage = m_Width;
SetScrollInfo(SB_HORZ,&info);
info.nPage = m_Height;
SetScrollInfo(SB_VERT,&info);
但只有垂直滚动条似乎会更新。
如果我交换执行顺序:
info.nPage = m_Height;
SetScrollInfo(SB_VERT,&info);
info.nPage = m_Width;
SetScrollInfo(SB_HORZ,&info);
然后只有水平滚动条似乎会更新。
知道这里究竟发生了什么吗?
尽管如此,我正在OnPaint
例程中完成所有这些工作。
谢谢。
答案 0 :(得分:0)
您应该只从WM_SIZE处理程序设置页面大小,当然,还应该在虚拟空间大小发生变化时设置页面大小。