windows程序设计第四章~~ScrollWindow函数滚动条重绘例子有两行代码看不懂
iPaintBeg=max(0,iVertPos+ps.rcPaint.top/cyChar);iPaintEnd=min(NUMLINES-1,iVertPos+ps....
iPaintBeg = max(0,iVertPos + ps.rcPaint.top / cyChar);
iPaintEnd = min(NUMLINES-1,iVertPos + ps.rcPaint.bottom / cyChar);
iVertPos + ps.rcPaint.top / cyChar这两个相加东西究竟是什么,不懂!
谁看过windows程序设计第五版的啊,能跟我说说嘛,我有源码可以发给你看啊 展开
iPaintEnd = min(NUMLINES-1,iVertPos + ps.rcPaint.bottom / cyChar);
iVertPos + ps.rcPaint.top / cyChar这两个相加东西究竟是什么,不懂!
谁看过windows程序设计第五版的啊,能跟我说说嘛,我有源码可以发给你看啊 展开
2个回答
展开全部
参考文库中的学习体会:
http://wenku.baidu.com/view/6c7775be65ce050876321312.html
iVertPos -- 滚动条垂向位置,计量 单位 字符 行 数。
ps.rcPaint.top,矩形绘图方块顶缘位置。除以 字体高度cyChar 得 计量 单位 字符 行 数。
iPaintBeg 绘图开始位置,大于等于0行。
iPaintEnd绘图结束位置,小于等于总行数-1。
注意坐标系,0,0 在窗的左 上角,x 指向右,y 指向下。
http://wenku.baidu.com/view/6c7775be65ce050876321312.html
iVertPos -- 滚动条垂向位置,计量 单位 字符 行 数。
ps.rcPaint.top,矩形绘图方块顶缘位置。除以 字体高度cyChar 得 计量 单位 字符 行 数。
iPaintBeg 绘图开始位置,大于等于0行。
iPaintEnd绘图结束位置,小于等于总行数-1。
注意坐标系,0,0 在窗的左 上角,x 指向右,y 指向下。
更多追问追答
追问
正如你文库里所说,iPaintBeg是第几行。所谓的第几行,应该就是 ps.rcPaint.top / cyChar------- ps.rcPaint.top(无效区左上y坐标)/一行高度
我不明白,第几行,为何还要加上iVertPos?第几行,应该就是 ps.rcPaint.top / cyChar
追答
滑块是一个方块,可能很长,也可能很短,你看一看浏览器右边的滑块,向上移动,滑块上端碰到窗框就不能再向上动了。向下移动,滑块下端碰到窗框就不能再向下动了。真正可移动长度范围,是窗框上下缘之差,减去滑块 高度。真正可移动长度范围,对应于左窗窗外的总行数。
rcPaint 是 rc, 是 方块。 矩形方块成员,是 矩形的上下左右。.top 是上。它不是滑块的位置。滑块的位置是滑块的中心点 在 窗上的垂直位置。
展开全部
http://ke.baidu.com/view/5b3a62406c175f0e7dd1370c.html
我也不懂这一部分的内容,然后看这个文档看懂了!
我也不懂这一部分的内容,然后看这个文档看懂了!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询