c语言gui编程滚动条,三、Windows编程之滚动条—滚动条的范围和位置-程序员宅基地

技术标签: c语言gui编程滚动条  

每个滚动条均有一个相关的「范围」(这是一对整数,分别代表最小值和最大值)和「位置」(它是卷动方块在此范围内的位置)。当卷动方块在卷动列的顶部(或左部)时,卷动方块的位置是范围的最小值;在卷动列的底部(或右部)时,卷动方块的位置是范围的最大值。

在内定情况下,滚动条的范围是从0(顶部或左部)至100(底部或右部),但将范围改变为更方便于程序的数值也是很容易的:

SetScrollRange (hwnd, iBar, iMin, iMax, bRedraw) ;

参数iBar为SB_VERT或者SB_HORZ,iMin和iMax分别是范围的最小值和最大值。如果想要Windows根据新范围重画滚动条,则设置bRedraw为TRUE(如果在呼叫SetScrollRange后,呼叫了影响滚动条位置的其它函数,则应该将bRedraw设定为FALSE以避免过多的重画)。

卷动方块的位置总是离散的整数值。例如,范围为0至4的滚动条具有5个卷动方块位置,如图4-6所示。

fab7328dbbfe0adf8ed5f3b1c51299f3.png

您可以使用SetScrollPos在滚动条范围内设置新的卷动方块位置:

SetScrollPos (hwnd, iBar, iPos, bRedraw) ;

参数iPos是新位置,它必须在iMin至iMax的范围内。Windows提供了类似的函数(GetScrollRange和GetScrollPos)来取得滚动条的目前范围和位置。

在程序内使用滚动条时,程序写作者与Windows共同负责维护滚动条以及更新卷动方块的位置。下面是Windows对滚动条的处理:

处理所有滚动条鼠标事件

当使用者在滚动条内单击鼠标时,提供一种「反相显示」的闪烁

当使用者在滚动条内拖动卷动方块时,移动卷动方块

为包含滚动条窗口的窗口消息处理程序发送滚动条消息

以下是程序写作者应该完成的工作:

初始化滚动条的范围和位置

处理窗口消息处理程序的滚动条消息

更新滚动条内卷动方块的位置

更改显示区域的内容以响应对滚动条的更改

像生活中的大多数事情一样,在我们看一些程序代码时这些会显得更加有意义。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_36073697/article/details/117071735

智能推荐

安装pgAdmin4 AttributeError: 'module' object has no attribute 'GSSException'_pgadmin servermanager object has no a-程序员宅基地

文章浏览阅读1.9k次。出现问题:File "/usr/lib/python2.7/site-packages/paramiko/ssh_gss.py", line 55, in <module>GSS_EXCEPTIONS = (gssapi.GSSException,)AttributeError: 'module' object has no attribute 'GSSException'..._pgadmin servermanager object has no a

json字符串转对象的几种方式-程序员宅基地

文章浏览阅读5w次,点赞26次,收藏165次。json字符串转对象 import net.sf.json.JSONObjectString response="{\"status\":\"error\",\"message\":\"没有选中文件!\"}";JSONObject jsonObject=JSONObject.fromObject(response); String documentId=(String) jsonObject.get("message");_json字符串转对象

代码:骨骼提取,原图匹配,Matlab_matlab识别坏死骨-程序员宅基地

文章浏览阅读1.9k次。%激光光条的骨骼提取------------------------------------- se = strel('disk', 5, 4);%strel定义核的形状和大小,关键字‘disk’指圆形核,后面两个数字指核的大小和圆的半径fo = imclose(imagedata, se); %openclose形态学close操作,目的为了平滑轮廓,所以..._matlab识别坏死骨

ArcGIS Server—几类GIS服务的区别_要素服务和矢量切片服务区别-程序员宅基地

文章浏览阅读2.8k次。概述ArcGIS Server中通用的四类服务:地图服务、要素服务、影像服务和切片服务具体差别。文章目录1. 地图服务2. 要素服务3. 影像服务4. 切片服务1. 地图服务○ 地图浏览,查询;○ 矢量数据可发布为地图服务(如百度地图、高德地图等),可查询;○ 影像数据、栅格数据也可发布为地图服务,但是更多只提供查看浏览功能;○ 地图服务的数据可以不从数据库中进行发布,数据可能存储..._要素服务和矢量切片服务区别

SpringMVC中使用Interceptor拦截器_intercept prehandle true-程序员宅基地

文章浏览阅读1.2w次。SpringMVC 中的Interceptor 拦截器也是相当重要和相当有用的,它的主要作用是拦截用户的请求并进行相应的处理。比如通过它来进行权限验证,或者是来判断用户是否登陆,或者是像12306 那样子判断当前时间是否是购票时间。 一、定义Interceptor实现类 SpringMVC 中的Interceptor 拦截请求是通过HandlerInterceptor 来实现的。在_intercept prehandle true

程序员的中年危机,字节跳动历年Android中高级面试题全收录!满满干货指导-程序员宅基地

文章浏览阅读86次。前言今年的面试形势不容乐观,竞争愈发激烈,进大厂的难度又增加了。但是,梦想还是要有的,万一实现了呢?这不就有一只幸运鹅。我的一个朋友,几天前,他百年不见更新的朋友圈有了新动态,他居然晒了他的offer,配的文案就是这篇文章的标题:算法太TM重要了!刷完这些题,我终于拿到了梦寐以求的大厂offer!下面有不少前来贺喜的朋友,就是发言酸溜溜的。第一轮技术面两个面试官,针对简历上项目和内存及优化等方面问了很多,还有架构设计等,大概一小时左右,一面面完让等会,如果让回去等通知估计就是凉了。二面HR

随便推点

台式计算机的外部组成,组成台式机的附件是什么?-程序员宅基地

文章浏览阅读247次。计算机硬件,包括计算机中的所有物理部件,用于区分其包含或执行的数据以及为硬件提供指令以完成任务的软件. 让我介绍一下组成台式计算机的附件.组成台式计算机的附件主板主板上装有CPU(中央处理器),内存(随机存取内存)和扩展卡插槽(但CPU和内存未集成在主板上,不是主板的附件,它们属于计算机硬件)主板,也称为主板,系统板或主板;它安装在机箱中,是微型计算机最基本,最重要的组件之一.内存它是与CPU通信..._台式计算机外部结构

X509数字证书之三:Wcf服务端和客户端证书_wcf 服务端验证客户端证书-程序员宅基地

文章浏览阅读2.5k次。摘要:X509数字证书可以用于Wcf服务端和客户端通信时的身份验证;也就是不仅是服务端进行身份认证,客户端在向服务端发起请求时,也需验证客户端的身份是否合法。证书的配置通常是在服务端和客户端的web.config文件中配置。要注意Makecert.exe生成的X509证书存储的位置是在LocalMachine存储位置。在本示例中,服务端证书是WosServer, 客户端证书是WosCl_wcf 服务端验证客户端证书

android异常:UnauthorizedAccessException:Access to the path “/xx/xx.xx“ is denied_unauthorizedaccess_iodenied_path-程序员宅基地

文章浏览阅读2.9k次。最近项目中读取文件时出现:UnauthorizedAccessException:Access to the path "/xx/xx.xx" is denied检查权限,已经有:<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />经测试只有android10版本才会出现这样的问题,只要在AndroidManifest.xml中的application标签中添加:android_unauthorizedaccess_iodenied_path

ZooKeeper 之zkCli.sh 客户端一文读懂-程序员宅基地

文章浏览阅读1.7k次。set path data [version] :修改当前节点的数据内容 如果指定版本,需要和当前节点的数据版本一致。setquota -n|-b val path 设置节点配额(比如限制节点数据长度,限制节点中子节点个数)delete path [version] 删除指定路径的节点 如果有子节点要先删除子节点。pZxid 操作当前节点的子节点列表的事物ID(这种操作包含增加子节点,删除子节点)ephemeralowner 当前节点的如果是临时节点,该属性是临时节点的事物ID。..._zkcli.sh

[转]四级数据库笔记-程序员宅基地

文章浏览阅读324次,点赞2次,收藏9次。计算机等级考试--四级数据库

缓存对齐与字节对齐_gcc 默认cacheline对齐吗-程序员宅基地

文章浏览阅读4.6k次。缓存对齐与字节对齐 一. Cache Cache一般来说,需要关心以下几个方面1)Cache hierarchyCache的层次,一般有L1, L2, L3 (L是level的意思)的cache。通常来说L1,L2是集成 在CPU里面的(可以称之为On-chip cache),而L3是放在CPU外面(可以称之为Off-chip cache)。当然这个不是绝对_gcc 默认cacheline对齐吗