VC中的DoDataExchange

VC学习,Dialog中文本刷新问题  1, UpdateData的使用UpdateData(FALSE)是将变量的值传到控件。UpdateData(TRUE)是从控件中取值到关联的变量。 UpdateData(FALSE)会调用DoDataExchange,这样会刷新整个Dialog。如果要频繁地刷新一个控件,请不要用这个函数。 2, 怎样只刷新指定的控件?a, 直接调用:控件->SetWindowTex 阅读详情
void CRegisterDialog::DoDataExchange(CDataExchange* pDX)

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverVC中的DoDataExchange - Jimmy - jimmyloveforever...{

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverCDialog::DoDataExchange(pDX);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforever//{{AFX_DATA_MAP(CRegisterDialog)

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDX_Control(pDX, IDC_INCOME, m_ctrlIncome);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDX_LBString(pDX, IDC_INCOME, m_strIncome);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDX_CBString(pDX, IDC_KIND, m_strKind);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDX_Check(pDX, IDC_MARRIED, m_bMarried);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDX_Text(pDX, IDC_NAME, m_strName);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDX_Radio(pDX, IDC_SEX, m_nSex);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDX_Text(pDX, IDC_UNIT, m_strUnit);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDX_Radio(pDX, IDC_WORK, m_nWork);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDX_Text(pDX, IDC_AGE, m_nAge);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforeverDDV_MinMaxUInt(pDX, m_nAge, 16, 65);

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforever//}}AFX_DATA_MAP

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange - Jimmy - jimmyloveforever}

VC中的DoDataExchange - Jimmy - jimmyloveforever

读者可以看出,该函数中的代码是由ClassWizard自动加入的。DoDataExchange只有一个参数,即一个CDataExchange对象的指针pDX。在该函数中调用了DDX函数来完成数据交换,调用DDV函数来进行数据有效检查。

当程序需要交换数据时,不要直接调用DoDataExchange函数,而应该调用CWnd::UpdateData。UpdataData函数内部调用了DoDataExchange。该函数只有一个布尔型参数,它决定了数据传送的方向。调用UpdateData(TRUE)将数据从对话框的控件中传送到对应的数据成员中,调用UpdateData(FALSE)则将数据从数据成员中传送给对应的控件。

在缺省的CDialog::OnInitDialog中调用了UpdateData(FALSE),这样,在对话框创建时,数据成员的初值就会反映到相应的控件上。若用户是按了OK(确定)按钮退出对话框,则对话框认为输入有效,就会调用UpdataData(TRUE)将控件中的数据传给数据成员。图5.9描绘了对话框的这种数据交换机制。

VC中的DoDataExchange - Jimmy - jimmyloveforever

VC中的DoDataExchange

怎么设置控件和变量关联呢?

假如在对话框中加入一个picture控件的话

1.导入图片

2.拉picture控件到对话框上,设置属性,Type改为Bitmap,image选择导入的图片,ID一定要修改,不能为默认的IDC_Static,否则下面将做的Classwizard将不出现此控件ID。

3.ClassWizard中选择member variable Category选择 Control加入相应的CStatic变量 。

4.此时到DoDataExchange看,增加相应的数据交换语句,我的是DDX_Control(pDX, IDC_bt, m_bt);

网络流量异常信息分析方法研究 本课题针对网络安全中网络流量异常的分析方法进行研究,提出一种基于机器学习和深度学习的异常检测算法。该算法采用卷积神经网络(CNN)和长短时记忆神经网络(LSTM)结合的方式,通过训练得到二分类模型,从而实现对网络流量异常的检测。随着互联网的飞速发展,网络攻击事件日益增多,网络安全问题成为了亟待解决的问题之一。常见的网络攻击手段包括 DDoS 攻击、SQL 注入、XSS 攻击等,这些攻击手段可能导致网络系统发生异常,给网络运维、数据安全带来极大的挑战。 阅读详情

相关推荐

华为iTrustee实战:5分钟搞定TrustZone环境搭建(附BoostKit配置技巧)

本文提供了一份华为iTrustee与ARM TrustZone环境的5分钟快速搭建实战指南。详细介绍了在TaiShan服务器上利用鲲鹏BoostKit套件部署可信执行环境(TEE)的完整流程,包括环境检查、驱动安装、首个可信应用(TA)的编译与运行,并分享了关键的BoostKit配置技巧与深度排错方法,助力开发者快速为业务注入硬件级安全能力。

yoga7的博客 966

vc++学习日记1.29 DoDataExchange的做用

       DoDataExchange只有一个参数,即一个CDataExchange对象的指针pDX。在该函数中调用了DDX函数来完成数据交换,调用DDV函数来进行数据有效检查。       当程序需要交换数据时,不要直接调用DoDataExchange函数,而应该调用CWnd::UpdateData。UpdataData函数内部调用了DoDataExchange。该函数只有一个布尔型参数

ssihc0的专栏 882

从XSA到Linux应用:Petalinux与Vitis的嵌入式开发全流程解析

本文详细解析了从XSA文件到Linux应用的嵌入式开发全流程,重点介绍了Petalinux与Vitis工具链的使用技巧和实战经验。通过XSA硬件描述、Petalinux工程搭建、系统镜像优化及Vitis开发配置等关键步骤,帮助开发者高效完成ZYNQ平台开发,解决常见问题并提升开发效率。

weixin_29195217的博客 189

控件变量值为空,DoDataExchange函数没有执行

问题:新增加的MFC对话框,绑定了控件变量怎么都不起作用,调试发现变量值都是空的,DoDataExchange函数并没有执行 解决:OnInitDialog中中增加调用基类的OnInitDialog函数

m0_43605481的博客 654

OPC DCOM详细配置方法 - 不关防火墙不换登陆用户

1. 前言   OPC DCOM的设置是实现跨网络OPC通信的基础,现有的一些OPC DCOM配置教程虽然讲解了如何配置DCOM,但没有讲清楚为什么要这么做,而且各个教程涉及的配置方法也不尽相同。   为了彻底搞清楚OPC DCOM的配置过程,我重新做了两台机器的系统,一台是Windows 7 32位,一台是Windows 10 64位,并且重零开始完整的测试了正常运行OPC DCOM所需的最少的...

steventian72的博客 3万+

概率整形 Peobabilistic Shaping PS 第一节

概率整形概述 概率整形(Peobabilistic Shaping, PS)是一种针对于调制格式的优化技术,它为光通信通信提供了非常高的灵活性,但不会增加系统复杂性。尤其是光通信中的非线性问题会限制功率,使得PS就像为光通信量身定做的一样。 PS技术能够在不增加发送功率的前提下,获得高频谱效率和传输容量。2016年在使用PS技术的实验中实现了6600km单模光纤的65Tbit/s数据的传输。 到目前位置PS技术的研究主要集中在具有相干检测的单载波光纤传输。 概率整形的基本原理 概率整形技术就是通过在编码前

Explore_OuO的博客 8124

VC++的DDX/DDV机制

<br />C++的MFC类库中为用户提供了在对话框控件和数据变量间交换数据的<br />        DDX/DDV(数据交换/数据验证)机制,而在此之前,用户只能通过调用<br />        GetDlgItemInt或etDlgItemText等函数这样麻烦的过程来达到同样的目的。<br />        当你要为控制增加DDX/DDV支持时,APP WIZARD和CLASS WIZARD将为你完成<br />        大部分工作。你只需要在CLASS WIZARD中为你的控制ID添加

feixiangmenghuan的专栏 8582

Windows Docker Desktop部署MaxKB详细教程

MaxKB(Max Knowledge Base)是一款基于大语言模型(LLM)和检索增强生成(RAG)技术的开源知识库问答系统,旨在帮助企业、教育机构及研究组织高效管理知识并提供智能问答服务。

猿小白的博客 1371

利用DoDataExchange的动态绑定功能

在窗口类对象中添加变量和控件相关联有两种途径: 1.右键单击->Add variable,但是此种方法添加的变量,除非是子类,否则均不能在DoDataExchange中进行动态绑定,也就是需要手动设置数据的交换,调用GetDlgItem、SetDlgItem()函数进行设置,效率较低。 2.通过Class Wizzard添加变量,可以利用DoDataExchange的数据绑定 

u013089125的专栏 975

SAP_MM/CO模块-超详细的CK11N/CK40N取值逻辑梳理(十几种业务场景,1.76W字)

本文主要讲述的是三个大的知识点,超详细,涉及到知识点比较多,并且串起来讲解,这也是我在网上搜不到相关资料才自己慢慢研究测试出来的,断断续续耗费了我一周多时间,相信只要你们认真看完,肯定会有所收获; 1、CK11N/CK40N成本发布功能中,系统前台的取数逻辑,涉及到多个采购信息记录、生产版本、货源清单、配额协议等对成本价发布的影响~~!! 2、CK11N与CK40N发布的成本价不一致的问题~~!! 3、如何处理外协加工物料的外协价与BOM组件成本取值不匹配的问题~~!!

风沙的博客 4068

ROS机器人未知环境自主探索功能包explore_lite最全源码详细解析(一)

本系列文章主要针对ROS机器人常使用的未知环境自主探索功能包explore_lite展开全源码的详细解析,并进行概括总结。 本系列文章共包含六篇文章,前五篇文章主要介绍explore_lite功能包中 explore.cpp、costmap_tools.h、frontier_search.cpp、costmap_client.cpp等源码实现文件中全部函数的详细介绍,第六篇文章进行概括总结,包含自主探索功能包explore_lite的简介,实现未知环境自主探索功能的原理及流程总结,效果演示,使用功能包

慕羽★的博客 3936

VC中的DoDataExchange函数解析

void CRegisterDialog::DoDataExchange(CDataExchange* pDX)...{CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CRegisterDialog)DDX_Control(pDX, IDC_INCOME, m_ctrlIncome);DDX_LBString(pDX, IDC_INCOME, m_s

浩瀚星空,法力无边;其大无外,其小无内。 3414

RK3588 buildroot 制作的系统增加 docker 支持

RK3588 使用buildroot制作的系统添加 docker 和 docker-compose 的功能

荻夜的博客 1567

VC中的DoDataExchange[转]

void CRegisterDialog::DoDataExchange(CDataExchange* pDX) {CDialog::DoDataExchange(pDX);//{{AFX_DATA_MAP(CRegisterDialog)DDX_Control(pDX, IDC_INCOME, m_ctrlIncome);DDX_LBString(pDX, IDC_INCOME, m_...

weixin_34097242的博客 92

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

MFC中DoDataExchange()的作用

void CDlgSelectCS::DoDataExchange(CDataExchange* pDX) {     CDialog::DoDataExchange(pDX);     DDX_Text(pDX, IDC_EDIT_SCR, m_ScrCS_Name);     DDX_Text(pDX, IDC_EDIT_DEST, m_DestCS_Name); } MSDN是这...

weixin_34323858的博客 190

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

VC6和VS2017使用webbrowser,并禁用鼠标右键

vc6直接在控件里添加webbrowser控件,并给控件添加一个变量m_ctrlWeb。 打开网页:m_ctrlWeb.Navigate("http://blog.youkuaiyun.com/fjb2080",NULL,NULL,NULL,NULL); 禁止鼠标右键: 在添加webbrowser控件时会自动加入类CWebBrowser2,在类CWebBrowser2里添加成员函数:BOOL Pr...

飞空静渡 1408

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VC课程 第四章 笔记

标签(空格分隔): codes --- ###**对话框的种类**  1. 模态对话框 &gt;用户 --&gt; 模态对话框  --&gt; 目标对话框  2. 非模态对话框 &gt;用户 --&gt; 非模态对话框 or 目标对话框 ###**vc6.0 的数据交换机制** &gt; 对话框 和 应用程序 通过 UpdateData()函数 进行数据交换  &gt; UpdateData(TR...

mengrenzi的博客 241

VS2008 Activx工程 EDIT控件如何关联Optional property name

http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/958fa703-b200-4df9-b2ee-a57674e6cb99 http://msdn.microsoft.com/en-us/library/8fb847t6.aspx 简单的说,就是VC6中的Optional property name在2008中

QSCJOB的专栏 1019

手动书写控件变量的添加,手动实现命令消息映射和通知消息映射

若要为对话框中的控件添加VALUE类型的控件变量时,只有两步要做,一就是把所要添加的控件变量,可以成员变量身份对它们进行声明,要在构造函数中初始化;二就是在DoDataExchange()中实现控件变量和相应资源ID之间的绑定。当添加为CONTROL类型的控件变量是时,这个控件变量更像类的成员变量,而且功能也更多,但还是要DoDataExchange()中实现,变量与ID之间的绑定。若要为

nacee的专栏 1227

vc++是控件数组的设置

在VB中可以把很多相同的控件设置成数组,操作非常方便在VC中有时也是对规律性很强,而控件又非常多的时候怎么办呢经过今天一试,终于试出来了举例子如下:有20个EditBox,想设置成一个数组先在窗体类中定义一个数组,CString cs[20];不要用建立类向导来建数组void CInterfaceDlg::DoDataExchange(CDataExchange* pDX){ CD

ccczqh的专栏 883

Vc中对话框数据交换和验证机制

对话框数据交换和验证机制 在VC中,所有的对话框函数都是使用C++代码实现的,它并没有采用特殊的资源或“奇特”的宏,但却可以很好地实现用户与应用程序之间的交互工作,这里的关键就在于对话框应用程序中广泛采用的对话框数据交换和验证机制。 对话框数据交换(Dialog Data Exchange,DDE)用于初始化对话框中的控件并获取用户的数据输入,而对话框数据验证(Dialog Data ...

云计算? 122
上一篇: 利用回调函数在线程和主类中传递消息
下一篇: VC6.0工具箱怎么调出来
随风而去飘飘飘
博客等级 码龄19年 620粉丝 67原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值