MFC中Spin Control控件使用,同时数据在Edit Control中显示_mfc spin control-程序员宅基地

技术标签: 控件  spin  mfc  

实现mfc spin control 上下滚动,只需捕捉spin control 的 UDN_DELTAPOD 消息,如下:
<pre name="code" class="cpp">OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)
{
<span style="white-space:pre">	</span>LPNMUPDOWN pNMUpDown = reinterpret_cast(pNMHDR);
<span style="white-space:pre">	</span>// TODO: 在此添加控件通知处理程序代码
<span style="white-space:pre">	</span>if(pNMUpDown-> iDelta == 1) // 如果此值为1 , 说明点击了Spin的往下箭头 
<span style="white-space:pre">	</span>{ 
<span style="white-space:pre">		</span>//增加编辑框中的数字值 
<span style="white-space:pre">		</span>//code
<span style="white-space:pre">	</span>} 
<span style="white-space:pre">	</span>else if(pNMUpDown-> iDelta == -1) // 如果此值为-1 , 说明点击了Spin的往上箭头 
<span style="white-space:pre">	</span>{ 
<span style="white-space:pre">		</span>//减少编辑框中的数字值 
<span style="white-space:pre">		</span>//code
<span style="white-space:pre">	</span>}
}





实现具体步骤如下:
1、首先新建一个Dialog窗口,在新建窗口中右击鼠标,添加类,如:CKoreaHc。
2、然后通过工具箱把Spin Control控件、Edit Control控件分别拖拽到Dialog窗口中,双击Spin Control控件即可在CKoreaHc.cpp中生成如下几段相应代码。
(1)
BEGIN_MESSAGE_MAP(CKoreaHc, CDialog)
ON_NOTIFY(UDN_DELTAPOS, IDC_SPIN1, &CKoreaHc::OnDeltaposSpin1)
END_MESSAGE_MAP()



(2)
void CKoreaHc::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)
{
<span style="white-space:pre">	</span>LPNMUPDOWN pNMUpDown = reinterpret_cast<<SPAN style="COLOR: black">LPNMUPDOWN>(pNMHDR);
<span style="white-space:pre">	</span>// TODO: 在此添加控件通知处理程序代码
<span style="white-space:pre">	</span>*pResult = 0;
}


3、在CKoreaHc.h和CKoreaHc.cpp中分别添加相应程序处理代码
(1) //CKoreaHc.h中对byTxOutsideTempData进行定义声明
BYTE m_byTxOutsideTempData;



(2)//CKoreaHc.cpp中
CKoreaHc::CKoreaHc(CWnd* pParent )
: CDialog(CKoreaHc::IDD, pParent)
{
<span style="white-space:pre">	</span>m_byTxOutsideTempData = 0x7E; //发送数据
}


(3)//CKoreaHc.cpp中
void CKoreaHc::OnDeltaposSpin1(NMHDR *pNMHDR, LRESULT *pResult)
{
<span style="white-space:pre">	</span>LPNMUPDOWN pNMUpDown = reinterpret_cast<<SPAN style="COLOR: black">LPNMUPDOWN>(pNMHDR);
<span style="white-space:pre">	</span>// TODO: 在此添加控件通知处理程序代码
<span style="white-space:pre">	</span>if(pNMUpDown->iDelta == -1) // 如果此值为-1 , 说明点击了Spin的往上箭头
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>m_byTxOutsideTempData++;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>else if(pNMUpDown->iDelta == 1) // 如果此值为, 说明点击了Spin的往下箭头
<span style="white-space:pre">	</span>{
<span style="white-space:pre">		</span>m_byTxOutsideTempData--;
<span style="white-space:pre">	</span>}
<span style="white-space:pre">	</span>CString ss;
<span style="white-space:pre">	</span>ss.Format(_T(" %d "), (m_byTxOutsideTempData & 0x 7F)-40);
<span style="white-space:pre">	</span>GetDlgItem(IDC_EDIT_OUTTEMP_HC)->SetWindowText(ss); //EDIT控件显示数据
<span style="white-space:pre">	</span>*pResult = 0;
}


版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/hitwhzhongqiu/article/details/41805297

智能推荐

【Java】——MyBatis 中mapper.xml的语法_mapper.xml语法-程序员宅基地

文章浏览阅读1.4w次,点赞7次,收藏74次。一、前言MyBatis是"半自动"的ORM框架,即SQL语句需要开发者自定义,MyBatis的关注点在POJO与SQL之间的映射关系。那么SQL语句在哪里配置自定义呢?就在Mapper.xml中配置。当然了该配置文件可以自定义文件名。文件的样式如下:<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" ><mappe.._mapper.xml语法

ffmpeg关于视频,音频的解码并解码为pcm 和yuv数据保存出来。_missing -d__stdc_constant_macros / #define __stdc_-程序员宅基地

文章浏览阅读514次。#include <stdio.h>#include <stdlib.h>#include <string.h>#define MAX_AUDIO_FRAME_SIZE 192000#define AV_CH_LAYOUT_STEREO (AV_CH_FRONT_LEFT|AV_CH_FRONT_RIGHT)#define __STDC_CO..._missing -d__stdc_constant_macros / #define __stdc_constant_macros

软件工程学习总结-程序员宅基地

文章浏览阅读501次。软件工程学习总结罗书仁 原创作品转载请注明出处 《软件工程(C编码实践篇)》MOOC课程: http://mooc.study.163.com/course/USTC-1000002006 实验报告链接 实验一实验报告 实验二实验报告 实验三实验报告 实验四实验报告 实验五实验报告 实验七实验报告 对软件工程的理解 这里只对软件工程做一个概括

项目外包 - 需求结算_外包软件项目尾款怎么算-程序员宅基地

文章浏览阅读863次。目录一、概述二、项目损失三、PM心声四、个人赠语一、概述新功能/项目甲方不停要求加需求,做变更。于是PM和需求人员不停做调研、评估、设计,代码不停的被改、改、改。想必每个PM都有过类似经历。可是,认真想想,这么做,绝对是弊大于利。于是乎,我就认真简单的算啦一笔账。以我所在的某国企为例,每次结算是以季度为单位进行的。错过本次结算,就要等到下季度,眨眼就是最少三个月的..._外包软件项目尾款怎么算

ECHARTS全解注释_为什么echarts注释掉还能运行啊-程序员宅基地

文章浏览阅读295次。ECHARTS全解注释https://www.cnblogs.com/zhenguo-chen/p/10424818.html_为什么echarts注释掉还能运行啊

蜜罐网络(开源汇总)MHN-程序员宅基地

文章浏览阅读1.3w次,点赞4次,收藏40次。蜜罐是存在漏洞的,暴露在外网或者内网的一个虚假的机器,具有以下这些特征:1.其中重要的一点机器是虚假的,攻击者需要花费时间攻破。在这段时间内,系统管理员能够锁定攻击者同时保护真正的机器。2.能够学习攻击者针对该服务的攻击技巧和利用代码。3.一些蜜罐能够捕获恶意软件,利用代码等等,能够捕获攻击者的0day,同时可以帮助逆向工程师通过分析捕获的恶意软件来提高自身系统的安全性4.在内网中部署的蜜罐可以帮助你发现内网中其他机器可能存在的漏洞。_mhn

随便推点

Splitter的on 和 splitToList 用法_splitter.on-程序员宅基地

文章浏览阅读8k次。String s1 = "hello|hihi"; String s2 = "hello|haha|||"; List<String> list = Splitter.on("|").splitToList(s1); List<String> list2 = Splitter.on("|").splitT..._splitter.on

正则表达式的高级用法_正则表达式高级用法-程序员宅基地

文章浏览阅读877次。 1.import re# 根据正则表达式进行查找, 提示:只查找一次# 1. 正则表达式# 2. 要匹配的字符串match_obj = re.search("\d+", "苹果有10个 鸭梨5个 总共15个")if match_obj: print(match_obj.group())else: print("查找失败")2.# ..._正则表达式高级用法

基于redis SETNX命令实现分布式锁:加解锁_setnx分布式锁如何解锁-程序员宅基地

文章浏览阅读547次。1、setNX命令说明:SET resource_name my_random_value NX PX 300002、代码演示:@Servicepublic class BaseSetNXDistributeLockService { private static final Logger LOGGER = LoggerFactory.getLogger(BaseSetNXDistributeLockService.class); @Autowired private R_setnx分布式锁如何解锁

程序员刚写完代码 , 就被开除了,网友笑到抽筋_64匹马 写代码-程序员宅基地

文章浏览阅读5.4k次。程序员这行业可能对于一般人来说,你不入这行,是不懂行里的门道的。互联网行业的迅猛发展,很多人都选择加入到程序员这个群体中来,现在很多人都说该行业呈饱和状态,毕竟一年百万级的程序员加入进来。 一般程序员写的代码都是非常多的,毕竟这是一个技术活,需要多练习多实践才能掌握。但是有一位程序员却因为写了一段代码就遭到领导开除! 前几天在逛贴吧的时候,看到这样一个帖。一程序员说自己刚写..._64匹马 写代码

Python tkinter读查看遥感影像投影_vga信号 python识别-程序员宅基地

文章浏览阅读1k次。Python tkinter读查看遥感影像投影结果如图 点击右上角选择,选择一个影像: 再次点选择按钮,选一个其他文件: 选择一个没有投影的:选择一个没有投影的影像: 退出。代码如下:# -*- coding: utf-8 -*-"""Created on Sun Aug 5 19:14:52 2018@author: Administra..._vga信号 python识别

sqlserver创建用户角色与授权_sqlserver创建三权用户-程序员宅基地

文章浏览阅读5.8k次,点赞13次,收藏78次。sqlserver创建用户角色与授权需求描述:web应用开发sqlserver作为数据存储,默认使用sa进行业务操作,如果发生用户密码泄露,危害性极大。解决办法:根据各业务库新建用户,专门用于特定数据库;创建用户与授权脚本--创建登陆帐户(create login)create login new_user with password='123456', default_databa..._sqlserver创建三权用户

推荐文章

热门文章

相关标签