热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

鸡啄米之VS2010/MFC编程入门之二十六(常用控件:滚动条控件ScrollBar)

目录一、目的1、想学习滚动条控件ScrollBar,如此获得里面的数值,方便用在其他地方,比只输入变量方便多了一、参考:

目录

一、目的

1、想学习滚动条控件Scroll Bar,如此获得里面的数值,方便用在其他地方,比只输入变量方便多了

一、参考:

1、VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)

①总结:good:超级好,能够实现,下面是我超级详细的操作过程

一、过程

1、创建MFC

1、添加滚动条控件Scroll Bar和编辑框

①滚动条控件名字(没有和鸡啄米的一样,为了就是自己测试):IDC_SCROLLBAR1

①编辑框名字(没有和鸡啄米的一样,为了就是自己测试):IDC_EDIT1

①保存时候会出现提示,点击是

1、滚动条添加变量:名字:m_horiScrollbar

①点击滚动条,右键

①然后头文件中就出现了这个新建的滚动条类

1、滚动条初始位置设置

①OnInitDialog:中编写滚动条,其中的SetDlgItemInt是设置编辑框,我的编辑框名字是IDC_EDIT1

 1、重载OnHScroll函数

①因为发现我们无法修改滚动条的数值,所以需要对其重载

1、运行效果

①拖拽这个滚动条,编辑框里面的数值也会变化






一、目的


1、想学习滚动条控件Scroll Bar,如此获得里面的数值,方便用在其他地方,比只输入变量方便多了


一、参考:


1、VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)

http://www.jizhuomi.com/software/191.html


①总结:good:超级好,能够实现,下面是我超级详细的操作过程


一、过程


1、创建MFC


1、添加滚动条控件Scroll Bar和编辑框


①滚动条控件名字(没有和鸡啄米的一样,为了就是自己测试):IDC_SCROLLBAR1


①编辑框名字(没有和鸡啄米的一样,为了就是自己测试):IDC_EDIT1


①保存时候会出现提示,点击是


1、滚动条添加变量:名字:m_horiScrollbar


①点击滚动条,右键


①然后头文件中就出现了这个新建的滚动条类


1、滚动条初始位置设置


①OnInitDialog:中编写滚动条,其中的SetDlgItemInt是设置编辑框,我的编辑框名字是IDC_EDIT1

// 设置水平滚动条的滚动范围为1到100 m_horiScrollbar.SetScrollRange(1, 100); // 设置水平滚动条的初始位置为20 m_horiScrollbar.SetScrollPos(20); // 在编辑框中显示20 SetDlgItemInt(IDC_EDIT1, 20);


 1、重载OnHScroll函数


①因为发现我们无法修改滚动条的数值,所以需要对其重载

void CMyExample26Dlg::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{// TODO: 在此添加消息处理程序代码和/或调用默认值int pos = m_horiScrollbar.GetScrollPos(); // 获取水平滚动条当前位置 switch (nSBCode) { // 如果向左滚动一列,则pos减1 case SB_LINELEFT: pos -= 1; break; // 如果向右滚动一列,则pos加1 case SB_LINERIGHT: pos += 1; break; // 如果向左滚动一页,则pos减10 case SB_PAGELEFT: pos -= 10; break; // 如果向右滚动一页,则pos加10 case SB_PAGERIGHT: pos += 10; break; // 如果滚动到最左端,则pos为1 case SB_LEFT: pos = 1; break; // 如果滚动到最右端,则pos为100 case SB_RIGHT: pos = 100; break; // 如果拖动滚动块滚动到指定位置,则pos赋值为nPos的值 case SB_THUMBPOSITION: pos = nPos; break; // 下面的m_horiScrollbar.SetScrollPos(pos);执行时会第二次进入此函数,最终确定滚动块位置,并且会直接到default分支,所以在此处设置编辑框中显示数值 default: SetDlgItemInt(IDC_EDIT1, pos); return; } // 设置滚动块位置 m_horiScrollbar.SetScrollPos(pos); CDialogEx::OnHScroll(nSBCode, nPos, pScrollBar);
}

1、运行效果


①拖拽这个滚动条,编辑框里面的数值也会变化


推荐阅读
  • 浅析python实现布隆过滤器及Redis中的缓存穿透原理_python
    本文带你了解了位图的实现,布隆过滤器的原理及Python中的使用,以及布隆过滤器如何应对Redis中的缓存穿透,相信你对布隆过滤 ... [详细]
  • 本文将带你快速了解 SpringMVC 框架的基本使用方法,通过实现一个简单的 Controller 并在浏览器中访问,展示 SpringMVC 的强大与简便。 ... [详细]
  • Spring – Bean Life Cycle
    Spring – Bean Life Cycle ... [详细]
  • IOS Run loop详解
    为什么80%的码农都做不了架构师?转自http:blog.csdn.netztp800201articledetails9240913感谢作者分享Objecti ... [详细]
  • 最详尽的4K技术科普
    什么是4K?4K是一个分辨率的范畴,即40962160的像素分辨率,一般用于专业设备居多,目前家庭用的设备,如 ... [详细]
  • JVM钩子函数的应用场景详解
    本文详细介绍了JVM钩子函数的多种应用场景,包括正常关闭、异常关闭和强制关闭。通过具体示例和代码演示,帮助读者更好地理解和应用这一机制。适合对Java编程和JVM有一定基础的开发者阅读。 ... [详细]
  • 本文总结了Java初学者需要掌握的六大核心知识点,帮助你更好地理解和应用Java编程。无论你是刚刚入门还是希望巩固基础,这些知识点都是必不可少的。 ... [详细]
  • 如果应用程序经常播放密集、急促而又短暂的音效(如游戏音效)那么使用MediaPlayer显得有些不太适合了。因为MediaPlayer存在如下缺点:1)延时时间较长,且资源占用率高 ... [详细]
  • 基于iSCSI的SQL Server 2012群集测试(一)SQL群集安装
    一、测试需求介绍与准备公司计划服务器迁移过程计划同时上线SQLServer2012,引入SQLServer2012群集提高高可用性,需要对SQLServ ... [详细]
  • 本文介绍如何使用OpenCV和线性支持向量机(SVM)模型来开发一个简单的人脸识别系统,特别关注在只有一个用户数据集时的处理方法。 ... [详细]
  • 利用python爬取豆瓣电影Top250的相关信息,包括电影详情链接,图片链接,影片中文名,影片外国名,评分,评价数,概况,导演,主演,年份,地区,类别这12项内容,然后将爬取的信息写入Exce ... [详细]
  • Spring Boot 中配置全局文件上传路径并实现文件上传功能
    本文介绍如何在 Spring Boot 项目中配置全局文件上传路径,并通过读取配置项实现文件上传功能。通过这种方式,可以更好地管理和维护文件路径。 ... [详细]
  • 零拷贝技术是提高I/O性能的重要手段,常用于Java NIO、Netty、Kafka等框架中。本文将详细解析零拷贝技术的原理及其应用。 ... [详细]
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • oracle c3p0 dword 60,web_day10 dbcp c3p0 dbutils
    createdatabasemydbcharactersetutf8;alertdatabasemydbcharactersetutf8;1.自定义连接池为了不去经常创建连接和释放 ... [详细]
author-avatar
上海传安光通科技有限公司_839
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有