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

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

原来的代码如下:(这是响应滑动滑块的函数)

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;}}UpdateSelect();//调用选择函数UpdateData(FALSE);}CPropertyPage::OnHScroll(nSBCode, nPos, pScrollBar);

.h文件中的定义:

    int m_huelow;int m_HScrolow;

.cpp文件开头的关联:

 DDX_Scroll(pDX, IDC_SCROLLBAR_HMIN, m_HScrolow);DDX_Text(pDX, IDC_EDIT_H_MIN, m_huelow);

上面表明,滑块的值和m_HScrolow关联,编辑框的值和m_huelow关联

代码原有的功能,当我们滑动滑块,调用第一个函数,改变了滑块位置对应的值,这个值传入m_huelow和m_HScrolow变量,然后调用UpdateData(FALSE)函数,用于将数据在屏幕中对应控件中显示出来,这样m_huelow的值就传入编辑框显示出来。
UpdateData函数见另一篇文章:UpdateData函数用法

但是我们看,下面是编辑框的函数:

void CPropColor::OnChangeEditHMin()
{// TODO:  如果该控件是 RICHEDIT 控件,它将不// 发送此通知,除非重写 CPropertyPage::OnInitDialog()// 函数并调用 CRichEditCtrl().SetEventMask(),// 同时将 ENM_CHANGE 标志“或”运算到掩码中。CFIRADlg* pMain = (CFIRADlg*)(AfxGetApp()->m_pMainWnd);UpdateData(TRUE);pMain->HSIThreshold[m_1][0] = m_huelow;Hsicircle();if (m_ColorSample)  ColorAnalyse();//单桢采样分析   UpdateSelect();//调用选择函数UpdateData(FALSE);   // TODO:  在此添加控件通知处理程序代码
}

这个函数是对编辑进入的值进行处理,但是没有对应的将编辑框的值传入滑块显示出来的语句,所以加一条语句变成:

void CPropColor::OnChangeEditHMin()
{// TODO:  如果该控件是 RICHEDIT 控件,它将不// 发送此通知,除非重写 CPropertyPage::OnInitDialog()// 函数并调用 CRichEditCtrl().SetEventMask(),// 同时将 ENM_CHANGE 标志“或”运算到掩码中。CFIRADlg* pMain = (CFIRADlg*)(AfxGetApp()->m_pMainWnd);UpdateData(TRUE);pMain->HSIThreshold[m_1][0] = m_huelow;Hsicircle();m_HScrolow = m_huelow;//将编辑框的值传入滑块变量,改变滑块位置if (m_ColorSample)  ColorAnalyse();//单桢采样分析    UpdateSelect();//调用选择函数UpdateData(FALSE);   // TODO:  在此添加控件通知处理程序代码
}

加了一条这个语句:

m_HScrolow = m_huelow;//将编辑框的值传入滑块变量,改变滑块位置

这样把编辑框的值给了m_HScrolow,再UpdateData(FALSE),就把值给了滑块,改变了位置。

IDC_EDIT控件输入数字改变IDC_SCROLLBAR滑块位置相关推荐

  1. 005 定位控件输入call

    文章目录 什么是控件输入call 定位控件输入call 定位字符长度 通过字符长度定位控件输入call 什么是控件输入call 当我们想要在游戏里进行喊话和聊天的时候,需要在游戏内置的控件里输入相应的 ...

  2. 用回车键实现MFC对话框中TAB键控件输入焦点在控件中跳转的效果(转)

    用回车键实现MFC对话框中TAB键控件输入焦点在控件中跳转的效果(转) 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://hcq11.blogbus.com/logs/5 ...

  3. textbox控件输入内容限制(格式及长度)

    textbox输入长度限制 textbox输入内容限制: 1. 2. /// <summary>/// 限制textbox控件输入仅为数字/// </summary>/// & ...

  4. 金蝶EAS DEP脚本(5)给常用控件添加值改变事件

    给常用控件添加事件 一.F7 给F7添加值改变事件 //F7控件增加值改变监听 pluginCtx.getKDBizPromptBox("prmtCompany").addData ...

  5. 【QTdesigner】课时36.使用QTextEdit控件输入多行文本【pyqt5+QTdesigner模式】

    课程目录 一点心得 视频链接 课程重点 代码位置 完整代码 遇到的问题 改写效果展示 改写注意点 改写代码(QTdesigner模式) ** >>> 点击进入:pyqt5专栏< ...

  6. 计数器视图控件(数字变化效果)

    CounterView 项目地址:jenly1314/CounterView  简介:计数器视图控件(数字变化效果) 更多:作者   提 Bug 标签: counter-count-number-ad ...

  7. input绑定的jedate日期控件的值改变时触发事件问题

    一.input绑定的jedate日期控件的值改变时触发事件问题 一般input中值发生改变,用onchange 就可以触发事件,但我现用jedate日期控,选中日期后,发现onchange无效. 后经 ...

  8. LabVIEW怎样确定控件在显示器坐标系中的位置

    LabVIEW怎样确定控件在显示器坐标系中的位置 想知道VI中控件的位置,但是当使用该控件的位置属性时,与之相关联的是LabVIEW原点,而不是显示器原点.该如何确定该控件在显示器坐标系中的位置. 解 ...

  9. android 中edittext控件 输入错误后焦点不变_常用基本控件测试用例(二)

    日期控件文本框的测试 1. 正常操作 1)有默认项还是没有. 2)选择日期后是否正确回显到页面上,并且格式正确 3)通过左右按钮进行年和月的选择,是否正确: 4)通过下拉框直接选择年和月,是否正确: ...

最新文章

  1. 从零开始一起学习SLAM | 掌握g2o顶点编程套路
  2. Nginx:安装+测试
  3. 链表node中保存的是什么_Redis源码解析一 --链表结构
  4. java调用浏览器组件来_Java 网页浏览器组件介绍
  5. Ubuntu 14.04数据库服务器--mysql的安装和配置
  6. python学多久能写东西的软件有哪些_怎么自学python,大概要多久?
  7. 安卓-08-布局管理器
  8. Eclipse 中 去掉控制台最大行数限制
  9. Chrome浏览器如何完美实现截长屏幕
  10. Nifi 常用Processor
  11. 基于SSH会员积分消费管理系统
  12. 秀和vs太田雄藏(依田纪基讲定式,欺骗感情)
  13. EasyNVR网页摄像机直播方案H5前端构建之:如何区分PC端和移动端
  14. 离散题目13(判断自反关系)
  15. 懈寄生——帮助过我的那些书那些人
  16. java.lang.IllegalArgumentException: Index for header ‘XXX‘ is 1 but CSVRecord only has 1 value
  17. 文档自动分类模型--分类算法思路总结
  18. 51开发实例 基于51单片机的火灾报警系统
  19. 虚拟主机中美国主机比香港主机稳定吗
  20. Amazon的VP为什么不能Qualify中国互联网公司?

热门文章

  1. opengles2.0 帧缓存对象(FBO)
  2. NameNode任务线程之FSNamesystem$ReplicationMonitor
  3. 评论,转自于《低端没出路,请接触高端!》
  4. Ubuntu Linux root password - default password
  5. react开发心路历程
  6. Linux/服务器常用操作
  7. P2387 [NOI2014]魔法森林
  8. git在项目中的实际运用
  9. Fiddler抓包使用教程-会话图标
  10. 借助Glances Monitor,密切关注你的系统