第25周-window程序设计(基础篇)-第4章-滚动条新功能
来源:互联网 发布:java redis list 删除 编辑:程序博客网 时间:2024/05/29 17:54
1、滚动条新功能:
/*为了使快速更新显示区域:可先呼叫InvalidateRect,使其区域无效,再呼叫UpdateWindow(hwnd)*//*滚动条文件:滚动条文件(在/Platform SDK/User Interface Services/Controls/Scroll Bars中)指出SetScrollRange、SetScrollPos、GetScrollRange和GetScrollPos函数。在Win32 API中升级以处理32位参数。而Win32 API介绍的两个滚动条函数称作SetScrollInfo和GetScrollInfo。这些函数可以完成以前函数的全部功能,并增加了两个新特性。*//*SetScrollInfo:第一个功能涉及卷动方块的大小;GetScrollInfo的功能:通过GetScrollInfo函数可以取得真实的32位值。*/卷动方块大小/滚动长度 = 页面大小/范围 = 显示文件数量/文件总大小 SetScrollInfo(hwnd,iBar,&si,bRedraw);GetScrollInfo(hwnd,iBar,&si);/*iBar参数是SB_VERT或SB_HORZ,它还可以是用于滚动条控制的SB_CTL。SetScrollInfo的最后一个参数可以是TRUE或FALSE,指出了是否要Windows重新绘制计算了新信息后的滚动条。*//*第三个参数中的SCROLLINFO结构定义*/typedef struct tagSCROLLINFO { UINT cbSize; //set to sizeof(SCROLLINFO)结构大小 UINT fmask;//values to set or get int nMin; //minimum range value int nMax; UINT nPage; //page size; int nPos; int nTrackPos;//current tracking posing滑块当前位置 } SCROLLINFO,*PSCORLLINFO;//注意:第一个字段指出结构大小。此字段使将来的Windows版本可以扩充结构并添加新的功能,并且仍然与以前编译的版本兼容。//该结构形态的定义:SCROLLINFO si;//呼叫两函数前,设定cbSize大小: si.cbSize = size(si)或si.cbSize = size(SCROLLINFO);/*对SYSMETRS2的修改*/iVscrollMax = max(0,NUMLINES-cyClient/cyChar);SetScorllRange = (hwnd,SB_VERT,0,iVscrollMax,TRUE);//假设NUMLINES等于75。cyClient/cyChar为50,则max(0,25),即75行信息但只有50行可以显示在显示区域中。/*SCROLLINFO结构和SetScorllinfo:*/si.cbSize = sizeof(SCROLLINFO);si.cbMask = SIF_RANGE|SIF_PAGE;si.nMin = 0;si.nMax = NUMLINES - 1;si.nPage = cyClient/cyChar;SetScrollInfo(hwnd,SB_VERT,&si,TRUE);//结果为Windows会把最大的滚动条位置限制为si.nMax - si.nPage +1而不是si.nMax。74-50+1=25。单词:info信息、current当前、mask隐藏(面具)
0 0
- 第25周-window程序设计(基础篇)-第4章-滚动条新功能
- 第25周-window程序设计(基础篇)-第4章-滚动条
- 第25周-window程序设计(基础篇)-第4章-绘制和更新
- 第25周-window程序设计(基础篇)-第4章-GDI图形设备接口
- 第25周-window程序设计(基础篇)-第4章-系统字体及格式化文字
- 第25周-window程序设计(基础篇)-第4章-SYSMETS.H
- 第25周-window程序设计(基础篇)-第4章-SYSMETS.C窗口消息处理程序
- 第25周-window程序设计(基础篇)-第4章-SYSMETS3.C
- 第25周-window程序设计(基础篇)-第2章-windows为何不用printf
- 第25周-window程序设计(基础篇)-第2章-实例ScreenSize.c
- 第25周-window程序设计(基础篇)-第3章-实例HelloWin.c
- 第25周-window程序设计(基础篇)-第3章-注册窗口类别1
- 第25周-window程序设计(基础篇)-第3章-注册窗口类别2
- 第25周-window程序设计(基础篇)-第3章-CreateWindows的呼叫
- 第25周-window程序设计(基础篇)-第3章-显示窗口ShowWindow
- 第25周-window程序设计(基础篇)-第3章-窗口消息处理程序WndProc
- 第26周-window程序设计(基础篇)-第5章(图形基础)-DEVCAPS1.C
- 第26周-window程序设计(基础篇)-第5章(图形基础)-关于颜色
- docker
- JavaWeb学习总结
- java 并发编程动画演示
- 2003年分区联赛普级组之二 数字游戏_dp
- “AndroidStudio2.1.3\sdk\build-tools\24.0.0\aapt.exe''finished with non-zero exit value 1问题解决方法
- 第25周-window程序设计(基础篇)-第4章-滚动条新功能
- 数据库范式
- CentOS6.5下Mysql的主从复制原理及配置
- 比较几种语言的Web开发效率
- (二) Hello World模块
- JAVA 异常
- 重载运算符
- win10 搭建apache+php
- Java.lang.UnsatisfiedLinkError: C:\apache\apache-tomcat-7.0.14\bin\tcnative-1.dll: Can't load AM