第四章 4-4 滚动条的升级版
来源:互联网 发布:时空智友软件 编辑:程序博客网 时间:2024/06/14 06:27
1,在窗口尺寸改变是对滚动条的进行重构
SCROLLINFO si;//新结构case WM_SIZE: cyClient = HIWORD(lParam); si.cbSize = sizeof(si);//字节数 si.fMask = SIF_RANGE | SIF_PAGE;//限定滚动条的范围和函数 si.nPage = cyClient / cyChar; si.nMin = 0; si.nMax = NUMLINES - 1; SetScrollInfo(hWnd, SB_VERT, &si, TRUE);通过设定页面的大小的改变从而改变滚动条的大小 break;
2,滚动条信息的设定
case WM_VSCROLL: si.cbSize = sizeof(si); si.fMask = SIF_ALL; GetScrollInfo(hWnd, SB_VERT, &si); iVertPos = si.nPos; switch (LOWORD(wParam)) { case SB_LINEDOWN: si.nPos += 1; break; case SB_LINEUP: si.nPos -= 1; break; case SB_PAGEDOWN: si.nPos += si.nPage; break; case SB_PAGEUP: si.nPos -= si.nPage; break; case SB_THUMBPOSITION: si.nPos = si.nTrackPos; break; default: break; } si.fMask = SIF_POS; SetScrollInfo(hWnd, SB_VERT, &si, TRUE);//设置新的位置点 GetScrollInfo(hWnd, SB_VERT, &si);//获取滚动条的信息 if (si.nPos != iVertPos) { ScrollWindow(hWnd, 0, cyChar*(iVertPos - si.nPos), NULL, NULL);//对窗口的区域进行滑动 UpdateWindow(hWnd); } break;
3,绘图信息的重画
GetScrollInfo(hWnd, SB_VERT, &si);si.cbSize = sizeof(si);si.fMask = SIF_POS;iVertPos = si.nPos;//对重画的范围进行设定,仅仅对空缺的部分进行画iPaintBeg = max(0, iVertPos + ps.rcPaint.top / cyChar);iPaintEnd = min(NUMLINES - 1, iVertPos + ps.rcPaint.bottom);
0 0
- 第四章 4-4 滚动条的升级版
- 第四章 4-3 滚动条
- 第四章 输出文字(滚动条)
- 第四章 输出文字(滚动条)
- 第四章 输出文字(滚动条)
- hadoop2.4后的滚动升级
- ExtJS 4无限制滚动条的Grid
- ExtJS 4无限制滚动条的Grid
- ExtJS 4无限制滚动条的Grid
- 第四章 文本输出 (2.滚动条)
- 4滚动条 SCROLL BAR
- iOS开发 - 渐变导航条升级版(判断滚动的方向和改变方向时的位置)
- 页面滚动条 body的滚动条
- 让DIV的滚动条自动滚动到最底部 - 4种方法
- 让DIV的滚动条自动滚动到最底部 - 4种方法
- 让DIV的滚动条自动滚动到最底部 - 4种方法(第二种好用)
- 滚动条的样式
- 滚动条的编程
- 设计模式四原则
- LVS负载均衡之session解决方案 持久连接
- “沉浸”于量子点技术,三星显示器到底要“救”谁?
- Yii 1.1版本控制器视图与ajax的使用方式
- 朴素贝叶斯
- 第四章 4-4 滚动条的升级版
- Python操作MySQL数据库
- BZOJ1095 & 动态点分治(好像应该叫点分树?)学习笔记
- oj160. Intersection of Two Linked Lists
- LoadRunner-web 性能测试常用指标
- js 判断 当页面无法回退时(history.go(-1)),关闭网页
- test
- Ubuntu之Git更新
- ssm的絮絮叨叨