文档详情

通用滚动条-Read.doc

发布:2017-04-18约1.58千字共3页下载文档
文本预览下载声明
福州瑞芯微电子有限公司  HYPERLINK mailto:lingzhaojun@ lingzhaojun@ 第  PAGE 3 页 QQ 通用滚动条 一、基本特征 滚动条主要用于菜单,文本中需要滚动显示的情况下。有时候大图片的局部显示也可以使用滚动条。考虑到一般需求,目前的滚动条只开发有垂直滚动条,若需要水平滚动条,用户可以参考现有程序自行开发。 垂直滚动条一般显示在屏幕的右边,有两个最重要的作用,其一是用来指示当前显示的内容在整个要显示中的百分比。其二是作为一种辅助输入,替代按键和触摸屏,来拉动滚动条达到上下翻页的目的。 图片类的代码位于uiscrollbar.c中 滚动条的默认风格如下(后续可支持更多种类的滚动条) 滑块长度 L 当前位置y 高 h 主要包含了四个图标元素: 下按钮 上按钮 底图 滑块 基本类似于windows操作系统中的滚动条,没有背景的大图,因此不受长度限制,上下箭头可以作为按钮接受触摸按键的输入,低图和滑块也可支持触摸屏输入。 如上图,滚动条的当前位置y和滚动条长度L可任意设置,滚动条的高度h也可在窗口创建时设为任意高,滚动窗口会自动伸缩。程序运行时,主要有两个参数在变化,即当前位置y和滚动条长度L,设置的参数以百分比的形式传递给窗口。 即位置百分比=y/h* 100% 滑块长度百分比=L/h* 100% 二、数据结构 滚动条的的数据结构如下: typedef struct { UINT16 TopHight; 上箭头高度 UINT16 ScrollHight; 滚动条高度 UINT16 ScrollWeight; 滚动条宽度 UINT16 ScrollLen; 滚动条长度 UINT16 IconScroll; 滚动条图标 UINT16 Iconback; 滚动条背景图标 UINT16 IconUp; 滚动条顶部按钮图标 UINT16 IconDown; 滚动条底部按钮图标 UINT16 Percent; 当前滚动条的位置百分率 UINT16 CurPositionY; }W_ScrollBar; 三、响应的消息 滚动条响应下列消息: 详细描述如下: WM_SetPercent 设置滚动条的位置,使滚动条滑块处于指定位置。参数wParam等于上图中的(y/h)×100。 WM_SetScrollLen 设置滚动条长度,参数wParam等于上图中的(L/h)×100,当滑块长度需要变化时,可以使用本消息设置。 WM_GetPercent ???取滚动条的当前位置,返回上图中的(y/h)×100,当上级窗口需要获得当前滚动条的位置时,向滚动条窗口发送此消息获得,见菜单类的WM_COMMAND消息中有此类处理。 WM_PAINT 画屏消息:滚动条响应这个刷屏消息时, 先判断屏幕是否需要更新,若需要更新则将滚动条的各项元素绘制到屏幕上 本控件可接受触摸屏,按键输入。当滚动条位置有变化时,以command形式发送给上级窗口。 四、使用示例: 如下,即可产生一个滚动条窗口接受输入。 WindowCreate( win , WS_TICK|WES_ScrollDefault, 1017, 270,33, 12,200, 0, BID_Scroll, 0, NULL, WinScrollProcMap, NULL ); 和父窗口交互等更详细的操作,请参考带滚动条的菜单类例程。 福州瑞芯微电子有限公司 2007年8月
显示全部
相似文档