在对话框中添加一个垂直滚动条控件,关联一个变量CScrollBar m_vScroll,在头文件定义CRect rt_mvScroll保存滚动条控件的位置,

定义一个int nVscroll,保存滑块的位置在OnInitDialog()里面添加

CRect rect; GetClientRect(rect); SCROLLINFO si; si.cbSize = sizeof(SCROLLINFO);; si.nMin = 0; si.nMax = 100; si.nPage = 5 ; si.fMask = SIF_POS|SIF_RANGE|SIF_PAGE; m_vScroll.SetScrollInfo(&si, TRUE); m_vScroll.GetWindowRect(rt_mvScroll);//滚动条所在的位置 ScreenToClient(rt_mvScroll);

响应对话框中WM_VScorll消息

void CScrollDemoDlg::OnVScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) { // TODO: 在此添加消息处理程序代码和/或调用默认值 SCROLLINFO si; si.cbSize = sizeof(si); m_vScroll.GetScrollInfo(&si, SIF_POS|SIF_PAGE|SIF_RANGE); nVscroll = si.nPos; switch(nSBCode) { case SB_LINEDOWN: nVscroll += 10; if (nVscroll > (si.nMax - si.nMin - si.nPage )) { nVscroll = si.nMax - si.nMin - si.nPage; } break; case SB_LINEUP: nVscroll -= 10; if (nVscroll < si.nMin) { nVscroll = 0; } break; case SB_PAGEDOWN: nVscroll += si.nPage; if (nVscroll > (si.nMax - si.nMin - si.nPage)) { nVscroll = si.nMax - si.nMin - si.nPage; } break; case SB_PAGEUP: nVscroll -= si.nPage; if (nVscroll < si.nMin) { nVscroll = 0; } break; case SB_THUMBTRACK: nVscroll = nPos; break; } ScrollWindow(0, -(nVscroll -si.nPos) , NULL ,NULL); m_vScroll.MoveWindow(rt_mvScroll, TRUE); si.fMask = SIF_POS; si.nPos = nVscroll; m_vScroll.SetScrollInfo(&si, TRUE); CDialog::OnVScroll(nSBCode, nPos, pScrollBar); }

响应WM_MOUSEWHELL消息

BOOL CScrollDemoDlg::OnMouseWheel(UINT nFlags, short zDelta, CPoint pt) { // TODO: 在此添加消息处理程序代码和/或调用默认值 //向下滚 if (zDelta == -120) { nVscroll += 10; OnVScroll(SB_PAGEDOWN, nVscroll, &m_vScroll); } else if (zDelta == 120) { nVscroll -= 10; OnVScroll(SB_PAGEUP, nVscroll, &m_vScroll); } m_vScroll.MoveWindow(rt_mvScroll, TRUE); return CDialog::OnMouseWheel(nFlags, zDelta, pt); }

CScrollBar的使用相关推荐

  1. VC:其他控件(CProgressCtrl、CScrollBar、CDateTimeCtrl、CMonthCalCtrl)

    1.进度条 m_progressCtrl.SetRange(0,100); for(int i=0;i<100;i++) { m_progressCtrl.SetPos(i); Sleep(10 ...

  2. MFC入门基础(十二)控件 CScrollBar的使用

    1.参考博客: VS2010/MFC编程入门之二十六(常用控件:滚动条控件Scroll Bar)-软件开发-鸡啄米 以下内容是参考上述博客大神的稍作修改 2. 首先还是创建一个基于对话框的MFC工程 ...

  3. 滚动条(CScrollBar)控件

    转自:http://hi.baidu.com/3582077/item/bb76bb564dc8589609be1721 这里不讲滚动条的使用方法了,只说怎么自绘滚动条控件. 滚动条基本知识参考htt ...

  4. [转]Windows与VC命名规则

    转自:http://hi.baidu.com/11158512/blog/item/0fbd5535cbfb5d1c91ef3970.html 匈牙利命名法是一种编程时的命名规范.基本原则是:变量名= ...

  5. wtl中显示html,用WTL构建HTML界面应用程序(1)

    主要针对有一定Windows编程经验的读者.阅读本文需要对COM机制有一定的了解,最好掌握C++的STL,熟悉模板机制.本文假定您使用的是Visual C++(6.0以上版本),并正确安装了WTL 7 ...

  6. MFC滑块的使用方式

    MFC滑块的使用方式: 如下六个滑块的使用方式: void CPropColor::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) ...

  7. IDC_EDIT控件输入数字改变IDC_SCROLLBAR滑块位置

    IDC_EDIT控件输入数字改变IDC_SCROLLBAR滑块位置 之前的代码能够将滑块的位置信息转换成数字显示在编辑框,但是编辑框的数字信息无法在滑块的位置来体现出来,也就是说,我编辑框中输入数字, ...

  8. 第三部分:MFC中控件的样式

    2019独角兽企业重金招聘Python工程师标准>>> 第三部分:MFC中控件的样式 控件是用来建立Windows应用程序用户界面的用户界面对象.你所见到的大部分Windows应用程 ...

  9. MFC消息处理学习总结

    Windows消息机制概述 http://www.cppblog.com/suiaiguo/archive/2009/07/18/90412.html 消息是指什么?      消息系统对于一个win ...

最新文章

  1. 十问亿级神经元类脑计算机:AI领域有望突破,哪些还需火候
  2. php爬取ckplayer,CKplayer站外调用示例附最终效果
  3. FastAPI ------框架基础
  4. 计算机视觉与深度学习 | SLAM之傻瓜书《 SLAM for Dummies》
  5. [cocos2dx笔记010]用于UI的事件管理器
  6. 13凯越门锁继电器在哪里_凯越中控门锁不工作.更换中央门锁装置故障依旧.
  7. 图解从上电到执行main函数的处理
  8. 游戏开发之游戏策划的基本原则
  9. 详解java的构造方法
  10. PHP基础知识------页面静态化
  11. Qt组态软件设计文章导航
  12. qt怎么连接oracle,Qt连接Oracle数据库详细介绍(QOCI)
  13. sqli-labs 第八关盲注脚本
  14. android usb type-c
  15. 局域网访问文件提示服务器内存不足,“服务器存储空间不足”的问题
  16. 极客头条|5月15日科技要闻:华为三星和解;联想全球首发折叠电脑;苹果回应美高院裁决
  17. 电商广告营销中,有哪些常见公式和优化手段
  18. 边缘风行视频采集软件V1.0
  19. 教你如何对产品做AB测试(abtest)
  20. 基于FPGA的数字电子钟的设计与实现

热门文章

  1. 可怕的“我们来找茬”,你能看出哪个是正品logo吗?阿里实验室可以!
  2. Nginx 安全配置
  3. 一种基于安卓系统的双屏异显技术的实现
  4. Data Integrity For JEDEC DRAM Memories
  5. Nginx打开目录浏览功能(autoindex)并设置访问验证
  6. Python解析word接口文档生成java bean
  7. 2020HW漏洞总结(二)
  8. matlab 函数调用和修改传入参…
  9. Motrix全能下载工具使用
  10. 20160907-Flann