Windows CE应用程序设计(张勇)ZXM20120520 第5章.ppt

Windows CE应用程序设计(张勇)ZXM20120520 第5章.ppt

  1. 1、本文档共98页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
     5.1 滚?动?条?控?件   Windows CE设备的显示区域相对于桌面显示设备而言面积较小,常见的为240?×?320的像素分辨率,也有一些为480?×?640像素分辨率的屏,尺寸大小一般在10?×?12 cm以下。在如此小的显示屏上显示界面,经常会出现“越界”而显示不完整的现象,这时可以通过在可见显示窗口的左边或下边添加滚动条控件,利用滚动条中滑块的上下或左右移动而浏览那些“越界”的部分。如第5.2节中的图5-2中窗口左边的上下滚动条可以通过滑动块的移动,查看较大的高度区域。   创建滚动条的方法有两种:一种为在窗口的边缘创建隶属于该窗口的滚动条控件,另一种为类似创建子窗口的方法创建独立的滚动条。这两种方法创建的滚动条本质上是一样的,当单击滚动条时会发送WM_VSCROLL或WM_HSCROLL消息,这两个消息的LOWORD(wParam)为点击滚动条的请求事件,可取以下值:   例如,需要在窗口左边创建垂直滚动条,在创建窗口时使用WS_VSCROLL位标志即可(使用WS_HSCROLL位标志可创建水平滚动条),如下:   滚动条控件的信息由SCROLLINFO结构体变量定义,该结构体为   其中,cbSize为结构体占用的字节大小,被置为sizeof(SCROLLINFO);fMask为滚动条的样式位标志,可以为SIF_POS(指定nPos为滑块位置)、SIF_PAGE(指定nPage为页面大小)、SIF_RANGE(设定nMin和nMax为滑动的最小和最大值)、SIF_DISABLENOSCROLL(滚动条一直显示,显示页面小于当前窗口时,不使能滚动条)、SIF_TRACKPOS(指定nTrackPos为当前滑块位置)、SIF_ALL(前面所有的标志位均有效);nMin和nMax为最小和最大滑动位置;nPage为页面大小;nPos和nTrackPos为滑块的位置和瞬时位置。  滚动条滑块滑动后,可以使用如下程序刷新滚动条,即   上面的代码中,si为SCROLLINFO结构体变量,  SetScrollInfo过程原型定义如下:   int SetScrollInfo(HWND hwnd, int fnBar, LPCSCROLLINFO lpsi, BOOL fRedraw); 其中,hwnd为滚动条所在的窗口;fnBar取为SB_HORZ或SB_VERT,分别表示水平或垂直滚动条控件,当取SB_CTL时,该滚动条是独立的控件,hwnd为滚动条句柄;lpsi为指向SCROLLINFO的指针,包含滚动条的状态;fRedraw为TRUE时重画滚动条,否则不重画。     5.2 滚?动?条?实?例   这里的滚动条实例即课表实例四充分展示了滚动条的使用方法,其工作环境和运行结果如图5-1至图5-4所示。 图5-1 工作环境 图5-2 滑块位于滚动条顶部 图5-3 滚动条向下滑动 图5-4 滑块滑至滚动条底端   课表实例四myTableTime4包括五个文件,即myTimeTable4.rc、myTimeTable4.h、myTimeTable4.cpp、mainWndProc.cpp和tableChildWndProc.cpp,各个程序文件的源码清单见以下各小节。 5.2.1 资源文件myTimeTable4.rc 5.2.2 头文件myTimeTable4.h 5.2.3 主程序入口文件myTimeTable4.cpp 5.2.4 主窗口过程文件mainWndProc.cpp 5.2.5 子窗口过程文件tableChildWndProc.cpp     5.3 课表实例四程序解释   该实例四程序是在第三章课表实例三的基础上为了突出垂直滚动条的使用方法而扩展的程序,在这里重点分析一下子窗口过程文件tableChildWndProc.cpp。为了使窗口中滚动条有效,将原来的课表由周一至周五安排成了周一至周日,这样课表被“拉长”了,重新扩展了课表相关的数组strCourse、nCourseCell和strClassroom的维数,消息查找表中增加了WM_VSCROLL消息及其处理过程goVscrollTableChildWnd。   在子窗口收到WM_CREATE消息后的处理过程中添加了滚动条的初始化代码,即   上述代码中,lpcs-cy为子窗口的高度,si.mMax为lpcs-cy + 82,即滚动条最大滑动距离为子窗口高度加上82像素点,然后,调用SetScrollInfo初始化滚动条。   在WM_PAINT消息的处理过程goPainTableChildWnd中指定绘制课表的矩形为滚动条能滚动的最大范围矩形,即   其中,rect为客户区矩

您可能关注的文档

文档评论(0)

开心农场 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档