win32: 查询滚动条相关信息的注意事项
今天打算判断一个窗口是否出现垂直滚动条,我的代码:
SCROLLINFO si; //滚动条信息结构体
si.cbSize = sizeof(SCROLLINFO); //必须
si.fMask = SIF_ALL;
GetScrollInfo(hwnd_frame_preview, SB_VERT, &si);
printf("si.nPage:%d\n", si.nPage);
printf("si.nPos:%d\n", si.nPos);
printf("si.nMin:%d\n", si.nMin);
printf("si.nMax:%d\n", si.nMax);
if(si.nPage > 0)
{
printf("有垂直滚动条\n");
}
else
{
printf("没有垂直滚动条\n");
}
但测试的时候发现,当没有显示滚动条的时候,si.nPage, si.nPos, si.nMin, si.nMax 返回的值都很奇怪,并不是我想像中的 0
输出结果:
si.nPage:2010220586
si.nPos:0
si.nMin:2010220634
si.nMax:2290948
si.nPage:2010220586
si.nPos:0
si.nMin:2010220634
si.nMax:2290948
从这样的输出结果看,如果使用 si.nPage 来判断有没有垂直滚动条已不准确了。
后来试了一下 GetScrollRange()
int nMin,nMax;
GetScrollRange(hwnd_frame_preview,SB_VERT,&nMin,&nMax);
printf("nMin:%d\n",nMin);
printf("nMax:%d\n",nMax);
输出结果:
nMin:0
nMax:0
看来,以后还是使用GetScrollRange()靠谱。
2013-08-29
win32: 查询滚动条相关信息的注意事项的更多相关文章
- 在linux中查询硬件相关信息
1.查询cpu的相关 a.查询CPU的统计信息 使用命令:lscpu 得到的结果如下: Architecture: x86_64 CPU op-mode(s): -bit, -bit Byte Ord ...
- Linux下使用fstatfs/statfs查询系统相关信息
Linux下使用fstatfs/statfs查询系统相关信息 1. 功能 #include < sys/statfs.h > int statfs(const char *path, ...
- Linux系统CPU相关信息查询
Linux系统CPU相关信息查询 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.lscpu常用参数介绍 1>.查看帮助信息 [root@node105 ~]# lscpu ...
- 查询ubuntu系统版本相关信息
查询ubuntu系统版本相关信息 sky@sky-virtual-machine:~$ cat /etc/issueUbuntu 12.04.5 LTS \n \l proc目录下记录的当前系统运行的 ...
- activiti7查询流程定义的相关信息
package com.zcc.activiti02; import org.activiti.engine.ProcessEngine;import org.activiti.engine.Proc ...
- MSSQL·查询数据库中所有索引的相关信息
阅文时长 | 0.45分钟 字数统计 | 784字符 主要内容 | 1.引言&背景 2.声明与参考资料 『MSSQL·查询数据库中所有索引的相关信息』 编写人 | SCscHero 编写时间 ...
- Linux服务器相关信息查询
链接:https://www.cnblogs.com/luoahong/articles/8781375.html 机器型号dmidecode | grep "Product Name&qu ...
- php http头设置相关信息
HTTP 状态码 状态码用来告诉HTTP客户端,HTTP服务器是否产生了预期的Response. HTTP/1.1中定义了5类状态码, 状态码由三位数字组成,第一个数字定义了响应的类别 1XX 提示信 ...
- 使用C语言获取linux系统相关信息
最近在写shell的时候,涉及到了获取环境变量参数和本地计算机相关信息,包括计算机设备名,用户名的信息,在这里简单总结一下.获取环境变量各项参数,可以直接使用getenv函数.man中关于getenv ...
随机推荐
- linux下rsync和tar增量备份梳理
前面总结过一篇全量备份/增量备份/差异备份说明,下面介绍下linux下rsync和tar两种增量备份的操作记录: 1)rsync备份 rsync由于本身的特性,在第一次rsync备份后,以后每次都只是 ...
- 最小生成树模板题POJ - 1287-prim+kruskal
POJ - 1287超级模板题 大概意思就是点的编号从1到N,会给你m条边,可能两个点之间有多条边这种情况,求最小生成树总长度? 这题就不解释了,总结就算,prim是类似dijkstra,从第一个点出 ...
- github个人作业
信息学院本科生课程设计 题目 文件加密和解密 课程名称 面向对象程序设计课程设计 课程编号 X031749 所在专业 计算机科学与技术 所在班级 计科高职13-3 ...
- debug网页时小问题The source attachment does not contain the source for the file
第一次debug总是出现下图问题,提示我没加源码... The source attachment does not contain the source for the file ... 解决方法: ...
- Java基础实践一:for关键字的实现原理
Java源码: /** * Demo.java * com.yuanchuangyun.libra.web * * * ver date author * ────────────────────── ...
- intval()和int()
int intval ( mixed $var [, int $base ] ) 通过使用特定的进制转换(默认是十进制),参数base表示进制,只有当var是字符串时,base才会有意义,表示按 ...
- git常用命令及用法小计
git init 初始化一个本地git仓库repository git status 查看状态 git add <file> 将工作区修改加到暂存区(stage) git commit - ...
- python系列-2 正则表达式资料
- ceph 搭建nginx负载3个对象网关
nginx.conf user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid ...
- BZOJ4569 SCOI2016萌萌哒(倍增+并查集)
一个显然的暴力是用并查集记录哪些位之间是相等的.但是这样需要连nm条边,而实际上至多只有n条边是有用的,冗余过多. 于是考虑优化.使用类似st表的东西,f[i][j]表示i~i+2^j-1与f[i][ ...