MFC滑块的使用方式:

如下六个滑块的使用方式:

void CPropColor::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar)
{// TODO: 在此添加消息处理程序代码和/或调用默认值CFIRADlg* pMain = (CFIRADlg*)(AfxGetApp()->m_pMainWnd);int iNowPos;BOOL HSIadjust = FALSE;if (pScrollBar == (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_HMIN))//H low threshold{HSIadjust = TRUE;CScrollBar* pSB = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_HMIN);switch (nSBCode){case SB_THUMBTRACK:pSB->SetScrollPos(nPos);m_huelow = nPos;m_HScrolow = nPos;break;case SB_LINELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 1;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_huelow = iNowPos;m_HScrolow = iNowPos;break;case SB_LINERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 1;if (iNowPos > 3600) iNowPos = 3600;pSB->SetScrollPos(iNowPos);m_huelow = iNowPos;m_HScrolow = iNowPos;break;case SB_PAGELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 10;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_huelow = iNowPos;m_HScrolow = iNowPos;break;case SB_PAGERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 10;if (iNowPos > 3600) iNowPos = 3600;pSB->SetScrollPos(iNowPos);m_huelow = iNowPos;m_HScrolow = iNowPos;break;}}else if (pScrollBar == (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_HMAX))// H high threshold{HSIadjust = TRUE;CScrollBar* pSB = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_HMAX);switch (nSBCode){case SB_THUMBTRACK:pSB->SetScrollPos(nPos);m_huehigh = nPos;m_HScrohigh = nPos;break;case SB_LINELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 1;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_huehigh = iNowPos;m_HScrohigh = iNowPos;break;case SB_LINERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 1;if (iNowPos > 3600) iNowPos = 3600;pSB->SetScrollPos(iNowPos);m_huehigh = iNowPos;m_HScrohigh = iNowPos;break;case SB_PAGELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 10;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_huehigh = iNowPos;m_HScrohigh = iNowPos;break;case SB_PAGERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 10;if (iNowPos > 3600) iNowPos = 3600;pSB->SetScrollPos(iNowPos);m_huehigh = iNowPos;m_HScrohigh = iNowPos;break;}}else if (pScrollBar == (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_SMIN))//S low threshold{HSIadjust = TRUE;CScrollBar* pSB = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_SMIN);switch (nSBCode){case SB_THUMBTRACK:pSB->SetScrollPos(nPos);m_slow = nPos;m_SScrolow = nPos;break;case SB_LINELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 1;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_slow = iNowPos;m_SScrolow = iNowPos;break;case SB_LINERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 1;if (iNowPos > 100) iNowPos = 100;pSB->SetScrollPos(iNowPos);m_slow = iNowPos;m_SScrolow = iNowPos;break;case SB_PAGELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 10;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_slow = iNowPos;m_SScrolow = iNowPos;break;case SB_PAGERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 10;if (iNowPos > 100) iNowPos = 100;pSB->SetScrollPos(iNowPos);m_slow = iNowPos;m_SScrolow = iNowPos;break;}}else if (pScrollBar == (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_SMAX))//S high threshold{HSIadjust = TRUE;CScrollBar* pSB = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_SMAX);switch (nSBCode){case SB_THUMBTRACK:pSB->SetScrollPos(nPos);m_shigh = nPos;m_SScrohigh = nPos;break;case SB_LINELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 1;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_shigh = iNowPos;m_SScrohigh = iNowPos;break;case SB_LINERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 1;if (iNowPos > 100) iNowPos = 100;pSB->SetScrollPos(iNowPos);m_shigh = iNowPos;m_SScrohigh = iNowPos;break;case SB_PAGELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 10;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_shigh = iNowPos;m_SScrohigh = iNowPos;break;case SB_PAGERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 10;if (iNowPos > 100) iNowPos = 100;pSB->SetScrollPos(iNowPos);m_shigh = iNowPos;m_SScrohigh = iNowPos;break;}}else if (pScrollBar == (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_IMIN))//I low threshold{HSIadjust = TRUE;CScrollBar* pSB = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_IMIN);switch (nSBCode){case SB_THUMBTRACK:pSB->SetScrollPos(nPos);m_ilow = nPos;m_iScrolow = nPos;break;case SB_LINELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 1;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_ilow = iNowPos;m_iScrolow = iNowPos;break;case SB_LINERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 1;if (iNowPos > 255) iNowPos = 255;pSB->SetScrollPos(iNowPos);m_ilow = iNowPos;m_iScrolow = iNowPos;break;case SB_PAGELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 10;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_ilow = iNowPos;m_iScrolow = iNowPos;break;case SB_PAGERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 10;if (iNowPos > 255) iNowPos = 255;pSB->SetScrollPos(iNowPos);m_ilow = iNowPos;m_iScrolow = iNowPos;break;}switch (pMain->m_camera){case 0:if (pMain->left.m_bIsSnap){pMain->DrawThresholdLine(pMain->left);}break;case 1:if (pMain->right.m_bIsSnap){                 pMain->DrawThresholdLine(pMain->right);}break;}}else if (pScrollBar == (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_IMAX))//I high threshold{HSIadjust = TRUE;CScrollBar* pSB = (CScrollBar*)GetDlgItem(IDC_SCROLLBAR_IMAX);switch (nSBCode){case SB_THUMBTRACK:pSB->SetScrollPos(nPos);m_ihigh = nPos;m_iScrohigh = nPos;break;case SB_LINELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 1;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_ihigh = iNowPos;m_iScrohigh = iNowPos;break;case SB_LINERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 1;if (iNowPos > 255) iNowPos = 255;pSB->SetScrollPos(iNowPos);m_ihigh = iNowPos;m_iScrohigh = iNowPos;break;case SB_PAGELEFT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos - 10;if (iNowPos < 0) iNowPos = 0;pSB->SetScrollPos(iNowPos);m_ihigh = iNowPos;m_iScrohigh = iNowPos;break;case SB_PAGERIGHT:iNowPos = pSB->GetScrollPos();iNowPos = iNowPos + 10;if (iNowPos > 255) iNowPos = 255;pSB->SetScrollPos(iNowPos);m_ihigh = iNowPos;m_iScrohigh = iNowPos;break;}switch (pMain->m_camera){case 0:if (pMain->left.m_bIsSnap){pMain->DrawThresholdLine(pMain->left);}break;case 1:if (pMain->right.m_bIsSnap){pMain->DrawThresholdLine(pMain->right);}break;}}if (m_1 != -1){switch (pMain->m_camera){case 0:if (pMain->left.m_bIsSnap){pMain->left.HSIThreshold[m_1][0] = m_huelow;pMain->left.HSIThreshold[m_1][1] = m_huehigh;pMain->left.HSIThreshold[m_1][2] = m_slow;pMain->left.HSIThreshold[m_1][3] = m_shigh;pMain->left.HSIThreshold[m_1][4] = m_ilow;pMain->left.HSIThreshold[m_1][5] = m_ihigh;}break;case 1:if (pMain->right.m_bIsSnap){pMain->right.HSIThreshold[m_1][0] = m_huelow;pMain->right.HSIThreshold[m_1][1] = m_huehigh;pMain->right.HSIThreshold[m_1][2] = m_slow;pMain->right.HSIThreshold[m_1][3] = m_shigh;pMain->right.HSIThreshold[m_1][4] = m_ilow;pMain->right.HSIThreshold[m_1][5] = m_ihigh;}break;}}if (HSIadjust){Hsicircle();if (1)//!pMain->m_bIsGrabOnebyOne){switch (pMain->m_camera){case 0:pMain->OnBnClickedBtnSendSoftTrigger();//单桢采样分析break;case 1:pMain->OnBnClickedBtnSendSoftTrigger1();//调用选择函数break;}}if (m_ColorSample){switch (pMain->m_camera){case 0:pMain->ColorAnalyse(pMain->left);//单桢采样分析break;case 1:pMain->ColorAnalyse(pMain->right);//调用选择函数break;}//pMain->m_bIsDispImage = TRUE;}switch (pMain->m_camera){case 0:pMain->UpdateSelect(pMain->left);//调用选择函数break;case 1:pMain->UpdateSelect(pMain->right);//调用选择函数break;}UpdateData(FALSE);}CPropertyPage::OnHScroll(nSBCode, nPos, pScrollBar);
}

MFC滑块的使用方式相关推荐

  1. MFC滑块对单击消息的响应(MP3剪切器V1.1)

    上一篇文章推荐了一个MP3剪切器,其中有关播放进度的调整存在问题,滑块本身拖动可以完成进度调整,但当通过鼠标单击目标位置时,滑块总是不能直接跳到想要达到的位置,使用体验较差.本文主要讨论一下如何调整滑 ...

  2. MFC关于JPG图片显示处理的几个方式

    做远程视频监控项目,接触较多图片处理方面问题,作为学习做以下记录: 一.截图默认bmp格式转jpg压缩. 采用jpglib库去实现. 二.jpg图片接收后MFC显示(四种方式) MFC提供的CWnd只 ...

  3. 自定义的可拖动滑块验证码的实现方式(SlideView)

    概述: 最近项目中需要在密码输入一定次数后尽心拖动滑块进行验证,防止恶意程序代码一直测试登录,用了GitHub的一个开源库SlideView,但是直接依赖源码是改不了样式的,下边给出自定义的可拖动滑块 ...

  4. 什么是ATL? (与COM的关系,及MFC与COM的关系)

    什么是ATL (与COM的关系,及MFC与COM的关系) 自从1993年Microsoft首次公布了COM技术以后,Windows平台上的开发模式发生了巨大的变化,以COM为基础的一系列软件组件化技术 ...

  5. MFC消息处理学习总结

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

  6. Linux如何在任务栏显示时间,在MFC[转载]在MFC状态栏显示时间 状态栏显示时间

    c/c++ vc 在mfc状态栏显示时间,在VC的控件中有个Status bar可以在窗体状态栏中添加日期和时间.其实通过简单的代码,你就能创建一个有时钟显示的状态栏,并且还能设置时钟栏的显示方式.举 ...

  7. qscrollbar 固定滑块大小_五金模具设计:通用滑块结构形式!模具滑块的设计标准!值得收藏...

    一. 滑块通用结构形式 1. 图(1)是常用的滑块结构形式;如滑块尺寸L较小,或当采用图(1)的形式,模板在滑块W方向尺寸有干涉时,可选用图(2)的结构形式;采用图(4)所示的结构形式时,要经专案主管 ...

  8. VC++动态链接库编程之MFC DLL

    1.概论 先来阐述一下DLL(Dynamic Linkable Library)的概念,你可以简单的把DLL看成一种仓库,它提供给你一些可以直接拿来用的变量.函数或类.在仓库的发展史上经历了" ...

  9. C++文件操作的6种方式

    2019独角兽企业重金招聘Python工程师标准>>> 纯C语言读取文件方式 写文件 FILE *pFile; pFile=fopen("jingge.txt", ...

最新文章

  1. 秋色园QBlog技术原理解析:性能优化篇:数据库文章表分表及分库减压方案(十五)...
  2. python3 list 列表 倒序
  3. 【控制】《多智能体系统一致性与复杂网络同步控制》郭凌老师-第7章-Lurie 型动态网络的鲁棒 H 无穷簇同步
  4. 虚拟鼠标代替安卓触屏_iQOO对比黑鲨2:那个虚拟按键设计更好?
  5. Jerry's spark demo application
  6. javascript 西瓜一期 10 十进制数数的详细进位解析
  7. 做骨龄检测_小柚熊:骨龄测试最佳年龄
  8. 考研编程练习----畅通工程
  9. Django Bootstrap开发笔记03 - Bootstrap环境配置
  10. Hive入门(三)分桶
  11. 信息系统项目管理07——项目成本管理
  12. c# PropertyGrid 自定义属性排序
  13. mysql initialize 什么意思_mysql initialize
  14. 对话 DenseNet 一作黄高:做有韧劲、能抗压、不断探索未知的科研
  15. LIO-SAM_based_relocalization运行kitti回环序列并保存轨迹评估(一)——————源码的分析
  16. linux 文本随机抽样_Linux命令总结
  17. python爬虫热点项目—滑块验证码项目(以Bilili为例)
  18. electron坑: 缩小放大快捷键
  19. 过滤器Filter的介绍
  20. Win7下python3.6.5 64bit安装配置图文教程

热门文章

  1. 使用php+swoole对client数据实时更新
  2. 安装终端服务和终端服务授权,激活终端服务授权
  3. 关于使用Windows Live Writer
  4. 解决老版本eclipse无法完全替换主题的问题
  5. pandas的分列操作str.split()
  6. Servlet笔记1
  7. ASP.NET MVC Display Mode 移动端视图 配置对微信内置浏览器的识别
  8. 2017年3月14日上午日志
  9. python初学--day1
  10. Android Studio no debuggable applications解决方案2