IDC_EDIT控件输入数字改变IDC_SCROLLBAR滑块位置
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滑块位置相关推荐
- 005 定位控件输入call
文章目录 什么是控件输入call 定位控件输入call 定位字符长度 通过字符长度定位控件输入call 什么是控件输入call 当我们想要在游戏里进行喊话和聊天的时候,需要在游戏内置的控件里输入相应的 ...
- 用回车键实现MFC对话框中TAB键控件输入焦点在控件中跳转的效果(转)
用回车键实现MFC对话框中TAB键控件输入焦点在控件中跳转的效果(转) 版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明 http://hcq11.blogbus.com/logs/5 ...
- textbox控件输入内容限制(格式及长度)
textbox输入长度限制 textbox输入内容限制: 1. 2. /// <summary>/// 限制textbox控件输入仅为数字/// </summary>/// & ...
- 金蝶EAS DEP脚本(5)给常用控件添加值改变事件
给常用控件添加事件 一.F7 给F7添加值改变事件 //F7控件增加值改变监听 pluginCtx.getKDBizPromptBox("prmtCompany").addData ...
- 【QTdesigner】课时36.使用QTextEdit控件输入多行文本【pyqt5+QTdesigner模式】
课程目录 一点心得 视频链接 课程重点 代码位置 完整代码 遇到的问题 改写效果展示 改写注意点 改写代码(QTdesigner模式) ** >>> 点击进入:pyqt5专栏< ...
- 计数器视图控件(数字变化效果)
CounterView 项目地址:jenly1314/CounterView 简介:计数器视图控件(数字变化效果) 更多:作者 提 Bug 标签: counter-count-number-ad ...
- input绑定的jedate日期控件的值改变时触发事件问题
一.input绑定的jedate日期控件的值改变时触发事件问题 一般input中值发生改变,用onchange 就可以触发事件,但我现用jedate日期控,选中日期后,发现onchange无效. 后经 ...
- LabVIEW怎样确定控件在显示器坐标系中的位置
LabVIEW怎样确定控件在显示器坐标系中的位置 想知道VI中控件的位置,但是当使用该控件的位置属性时,与之相关联的是LabVIEW原点,而不是显示器原点.该如何确定该控件在显示器坐标系中的位置. 解 ...
- android 中edittext控件 输入错误后焦点不变_常用基本控件测试用例(二)
日期控件文本框的测试 1. 正常操作 1)有默认项还是没有. 2)选择日期后是否正确回显到页面上,并且格式正确 3)通过左右按钮进行年和月的选择,是否正确: 4)通过下拉框直接选择年和月,是否正确: ...
最新文章
- 从零开始一起学习SLAM | 掌握g2o顶点编程套路
- Nginx:安装+测试
- 链表node中保存的是什么_Redis源码解析一 --链表结构
- java调用浏览器组件来_Java 网页浏览器组件介绍
- Ubuntu 14.04数据库服务器--mysql的安装和配置
- python学多久能写东西的软件有哪些_怎么自学python,大概要多久?
- 安卓-08-布局管理器
- Eclipse 中 去掉控制台最大行数限制
- Chrome浏览器如何完美实现截长屏幕
- Nifi 常用Processor
- 基于SSH会员积分消费管理系统
- 秀和vs太田雄藏(依田纪基讲定式,欺骗感情)
- EasyNVR网页摄像机直播方案H5前端构建之:如何区分PC端和移动端
- 离散题目13(判断自反关系)
- 懈寄生——帮助过我的那些书那些人
- java.lang.IllegalArgumentException: Index for header ‘XXX‘ is 1 but CSVRecord only has 1 value
- 文档自动分类模型--分类算法思路总结
- 51开发实例 基于51单片机的火灾报警系统
- 虚拟主机中美国主机比香港主机稳定吗
- Amazon的VP为什么不能Qualify中国互联网公司?