



免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VS2010 C+学习(1):滚动条的设计总结学习VC+编制的滚动条程序.。一、 主要内容:1. 对话框中的滚动条设计;2. 编辑框中的滚动条设计;3. 列表框中的滚动条设计;二、 设计实现:1、 对话框中的滚动条设计; 在资源编辑器中,选择在属性对话框中的水平滚动和垂直滚动样式。 选择调整大小的边框样式,以使该对话框可调整其大小。 重写 WM_VSCROLL 和 WM_HSCROLL 消息处理程序。 重写设置滚动条区域,如果大小减小到小于原始大小的 WM_SIZE 消息处理程序。名称属性BorderResizingHorizontal ScrollbarTrueVertical ScrollbarTrue1)添加成员变量到对话框类中int m_nCurHeight; /存储对话框中的当前高度int m_nScrollPos; /存储当前垂直滚动位置int m_nCurWidth; /存储对话框中的当前宽度int m_hScrollPos; /存储当前水平滚动位置CRect m_rect; / 对话框原始大小2)若要获取原始窗口的大小,请将下行添加到OnInitDialog方法:GetWindowRect(m_rect);m_nScrollPos = 0; / 垂直滚动位置0m_hScrollPos = 0; / 水平滚动位置03) OnSize方法中添加消息处理程序。判断当前对话框的大小,并与对话框原始大小进行比较。然后计算出垂直和水平滚动条的最大值,写入SCROLLINFO中去。4) 将 WM_VSCROLL 消息的消息处理程序添加到OnVScroll方法中,WM_HSCROLL 消息的消息处理程序添加到OnHScroll方法中。设计响应滚动条的事件。5) 使用的函数l SetScrollInfo(SB_HORZ, &hsi, TRUE); l SetScrollPos(SB_HORZ,m_hScrollPos,TRUE);l ScrollWindow(-nDelta,0);函数原型:int SetScrollInfo(HWND hWnd,int fnBar,LPSCROLLINFO lpsi,BOOL fRedraw);函数功能:该函数设置滚动条参数,包括滚动位置的最大值和最小值,页面大小,滚动按钮的位置。如被请求,函数也可以重画滚动条。参数:hWnd:滚动条控件或带标准滚动条的窗体句柄,由fnBar参数决定。fnBar:指定被设定参数的滚动条的类型。这个参数可以是下面值,含义如下:SB_CTL:设置滚动条控件。而参数hwnd必须是滚动条控件的句柄。SB_HORZ:设置所给定的窗体上标准水平滚动条参数。SB_VERT:设置所给定的窗体上标准垂直滚动条参数。lpsi:指向SCROLLINFO结构。在调用SetScrollInfo之前,设置SCROLLINFO结构中cbSize成员以标识结构大小,设置成员fMask以说明待设置的滚动条参数,并且在适当的成员中制定新的参数值。成员fMask可以为下面所列复合值,含义如下:SIF_DfSABLENOSCROLL:如果滚动条的新参数使其为没必要,则使滚动条无效而不再移动它。SIF_PAGE:设置滚动页码值到由Ipsi指向的SCROLLINFO结构的nPage成员中。SIF_POS:设置滚动位置值到由lpsi指向的SCROLLINFO结构的nPos成员中。SIF_RANGE:设置滚动范围值到由lpsl指向的SCROLLINFO结构的nMin和nMax成员中。fRedraw:指定滚动条是否重画以反映滚动条的变化。如果这个参数为TRUE,滚动条将被重画,否则不被重画。返回值:返回值是滑块的当前位置。2、 编辑框中的滚动条设计;单行编辑框控件无滚动条,多行编辑框控件才有滚动条。1)Edit1属性:名称属性说明MultilineTrue多行编辑框Horizontal ScrollTrueVertical ScrollTrueAuto HScrollTrueAuto VScrollTrue2)多行编辑框类的方法: 设置好后多行编辑框控件自动管理滚动条。3、 列表框中的滚动条设计;1) 垂直滚动条设计只需设置属性即可:名称属性说明Vertical ScrollTrue2) 水平滚动条设计注意:需要将水平滚动条的属性设为真,否则即使调用下面的函数也不会出现水平滚动条。名称属性说明Horizontal ScrollTrue 通过调用SendDlgItemMessage 向对话框发送设置水平滚动条宽度信息来显示水平滚动条 。 函数SendDlgItemMessage(IDC_LIST2, LB_SETHORIZONTALEXTENT, (WPARAM)s.cx, 0);函数原型:LRESULT SendDlgItemMessage( int nID, UINT message, WPARAM wParam = 0, LPARAM lParam = 0 );LB_SETHORIZONTALEXTENT 为设置滚动条宽
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年安徽宿州萧县云水水务社会招聘9人模拟试卷附答案详解
- 2025福建厦门市海水养殖生物育种全国重点实验室(第一批)招聘模拟试卷及答案详解(易错题)
- 2025昆明市盘龙区汇承中学招聘教师(12人)考前自测高频考点模拟试题附答案详解(典型题)
- 2025广东广州市越秀区建设街招聘辅助人员1人考前自测高频考点模拟试题附答案详解(考试直接用)
- 2025河北邯郸市丛台区选聘农村党务(村务)工作者42人模拟试卷及一套参考答案详解
- 2025年福建省古田县人力资源和社会保障局招聘10人模拟试卷及一套完整答案详解
- 2025吉林大学招聘教师5人(1号)考前自测高频考点模拟试题及答案详解(易错题)
- 2025年上半年江苏南京市六合区人民医院招聘编外工作人员32人考前自测高频考点模拟试题附答案详解(典型题)
- 2025河南中医药大学第一附属医院(郑州)招聘131名考前自测高频考点模拟试题参考答案详解
- 2025黑龙江黑河市爱辉区花园社区卫生服务中心招聘非事业编制人员7人考前自测高频考点模拟试题及答案详解(夺冠)
- 2025国企竞聘上岗与干部竞聘上岗笔试题及答案
- 人工智能与建筑产业体系智能化升级研究报告
- 武科大大学生手册考试内容及答案
- 集装箱吊装专项施工方案
- 2025年中国家用WiFi路由器行业市场全景分析及前景机遇研判报告
- 2025年领导干部任前廉政法规知识考试题库(含答案)
- 2025年山东省济宁市邹城市第十一中学中考二模数学试题
- 信息技术基础教程(WPS版)课件 第3章 Windows 10 操作系统的使用
- 小鹿斑比题目及答案
- 2024超声法检测混凝土缺陷技术规程
- 2025-2030中国建筑行业供应链金融发展现状与前景分析
评论
0/150
提交评论