C++ 关于滚动条的滚动问题
SCROLLINFO scrollinfo; GetScrollInfo(SB_HORZ, &scrollinfo, SIF_ALL); switch (nSBCode) { case SB_LINERIGHT: if (scrollinfo.nPos < scrollinfo.nMax){ scrollinfo.nPos += 10; SetScrollInfo(SB_HORZ, &scrollinfo); ScrollWindow(-10, 0);} break; }
使用 GetScrollInfo 得到滚动信息 将信息保存于 SCROLLINFO 类的数据中
然后根据 nSBCode 来判断是哪个滚动条的哪个动作,做了调整
下面列出滚动的相关函数
afx_msg void OnHScroll( UINT nSBCode, UINT nPos, CScrollBar* pScrollBar );
各个参数的意义:
nSBCode
指定指示用户滚动请求的滚动条代码。 此参数可以是下列值之一:
SB_LEFT 滚动到最左侧。
SB_ENDSCROLL 结束滚动。
SB_LINELEFT 滚动。
SB_LINERIGHT 滚动权限。
SB_PAGELEFT 滚动一页。
SB_PAGERIGHT 滚动一页权限。
SB_RIGHT 滚动到最右边。
SB_THUMBPOSITION 为绝对位置的滚动。 当前位置由 nPos 参数指定。
SB_THUMBTRACK 拖动到指定位置的滚动框。 当前位置由 nPos 参数指定。
nPos
如果滚动条代码是 SB_THUMBPOSITION 或 SB_THUMBTRACK,指定滚动框位置;否则,未使用。 基于初始滚动大小,nPos 可以为负的,因此如果需要,转换到 int。
pScrollBar
如果滚动消息来自滚动条控件,其中包含指向该控件。 //如果是手动添加的滚动控件
如果用户单击窗口滚动条,此参数是 NULL。
指针可能是瞬态的,不应存储以供将来使用。
分类:
C++文档
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架