- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
滚动条(下)
滚动条
这次我们将在上一堂课的程序基础上加入一些专业气息。
·获取字体高度
在上一个程序中,我们固定了每行的高度为30个像素。可如果字体大小改变,比如说字体高度变为40,那么我们的程序会将字符重叠显示,这不是我们希望看到的。所以我们要讲每行的高度与字体的高度关联起来。
那么首先我们就得获取到当前字体的高度。
用途获取字体信息原型BOOL
GetTextMetrics(
HDC hdc, /设备描述表句柄
LPTEXTMETRIC lptm); /TEXTMETRIC 结构指针返回值成功返回非0值,失败返回0
TEXTMETRIC中包含了字体的全部信息,如高度,宽度,字符集等等等等,我们没必要去一一了解,今天我们只想知道谁是字符高度:tmHeight.
GetTextMetrics会将当前设备描述表中选定的字体信息,写入lptm指向的对象。
那么我们需要先获取到设备描述表句柄。
·非WM_PAINT消息中获取HDC
在非WM_PAINT消息中,获取HDC的方式与我们之前学过的并不一样。它是使用GetDC获取,并使用Release来释放的。
用途在非WM_PAINT消息中获取 设备描述表句柄原型HDC
GetDC(
HWND hWnd); /窗体句柄返回值成功返回设备描述表句柄,失败返回NULL
用途在非WM_PAINT消息中 释放设备描述表句柄原型int
ReleaseDC(
HWND hWnd, /窗体句柄
HDC hDC); /设备描述表句柄返回值释放成功返回1 释放失败返回0
·流行的滚动条函数
同下面要讲的两个滚动条函数相比,以前我们学习的滚动条函数确实是过时的。
用途设置滚动条信息原型int
SetScrollInfo(
HWND hwnd, /窗体句柄
int nBar, /预设置的滚动条
LPSCROLLINFO lpsi, /SCROLLINFO 结构指针
BOOL redraw); /是否立刻重绘
返回值滚动条当前位置
用途获取滚动条信息原型BOOL
GetScrollInfo(
HWND hwnd, /窗体句柄
int nBar, /预获取的滚动条
LPSCROLLINFO lpsi); /SCROLLINFO 结构指针返回值成功返回非0值 失败返回0同之前的滚动条函数一样,参数2为SB_VERT(垂直)或SB_HERT(水平)
而对滚动条的操作都由参??3来决定。
typedef struct tagSCROLLINFO
{
UINT cbSize; /结构大小
UINT fMask; /操作标记
int nMin; /最小值
int nMax; /最大值
UINT nPage; /每页大小
int nPos; /滚动框当前位置
int nTrackPos; /拖动时的滚动框当前位置
} SCROLLINFO, FAR *LPSCROLLINFO;;
我们可以在程序中定义如下对象
SCROLLINFO si;
si.cbSize = sizeof(si);
Windows中有很多结构第一个字段都用于指出该结构大小。这个字段使将来的Windows版本可以扩充结构并添加新的功能,并且仍然与以前编译的版本兼容。
si.fMask
该字段设置为以SIF前缀开头的一个或多个标志,使用 (|)将他们组合。
#define SIF_RANGE 0x0001 /设置(获取)滚动范围
#define SIF_PAGE 0x0002/设置(获取)滚动页面大小
#define SIF_POS 0x0004/设置(获取)当前位置
#define SIF_DISABLENOSCROLL 0x0008/设置滚动条不自动隐藏
#define SIF_TRACKPOS 0x0010/获取滚动条拖动时位置
#define SIF_ALL (SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)
·滚动窗体
之前,我们都是使用Invalidate()使窗体刷新,实际上我们还有别的选择。滚动窗体。
用途滚动窗体客户区原型
您可能关注的文档
- 逍遥游大鹏意象.ppt
- 江苏省徐州市宁海学校高一2012年12月月考政治试题.doc
- 五年级教学质量过程监测题(七).doc
- 西安葫芦科技软件开发合同.doc
- 3DsMAX教程实验3.ppt
- 一轮考点7恒定电流(1部分电路).doc
- 第2章单片机汇编语言程序设计.ppt
- 限定记忆最小二乘法.doc
- 五年级语文(下)口语交际与习作四导学案.doc
- 1.3地球运动(第2课时).ppt
- DB52T 448-2023贵州小叶苦丁茶.pdf
- DB43_T 3179-2025边坡生态修复技术规程.pdf
- DB43_T 3190-2025居家整理收纳服务规范.pdf
- DB43T 1972-2025守合同重信用企业评价规范.pdf
- DB52T 1731-2023 中华倒刺鲃人工繁育技术规程.pdf
- DB51T3046-2023基层社会工作服务站(室)建设和管理规范.pdf
- DB51T3006-2023水稻对南方水稻黑条矮缩病抗性鉴定技术规程.pdf
- DB45T 2637-2023 水稻秸秆-绿肥协同还田技术规程.pdf
- DB51T2993-2023钉螺控制技术 氯硝柳胺泥敷灭螺.pdf
- DB51T3013-2023山丘区果树高效集雨精量灌溉技术规程.pdf
最近下载
- 财务管理第6章自测练习.docx VIP
- YY_T0521-2018牙科学 种植体 骨内牙种植体 动态疲劳试验.docx VIP
- DB21T 3419-2021 农业废弃物堆沤肥料生产技术规程.docx VIP
- 鼻饲法教学课件.ppt VIP
- 保洁项目内部考核管理制度.docx VIP
- 2023年湖南师范大学公共课《马克思主义基本原理概论》期末试卷B(有答案).docx VIP
- SANGFOR_GAP_V3.0安全隔离与信息交换系统_用户手册.pdf VIP
- 马克思主义基本原理(湖南师范大学)知到智慧树期末考试答案题库2024年秋湖南师范大学.docx VIP
- 2025年健康企业管理题库及答案.doc VIP
- 食品安全英文PPT.ppt VIP
原创力文档


文档评论(0)