当前位置: 首页 > news >正文

【上位机——MFC】对象和控件绑定

对象和控件绑定

将控件窗口和类对象绑定具有两大作用
如果和数据类对象绑定,对象和控件可以进行数据交换。
如果和控件类对象绑定,对象就可以代表整个控件。

与数据类型对象绑定的使用

  1. 数据类型对象和控件可实现数据交互
  2. 重写父类成员虚函数DoDataExchange,在函数内部通过一系列的DDX_xxx函数,实现控件和数据类型对象的数据交互。
  3. 如果需要实现数据交互,调用UpdateData函数
    a. UpdateData(TRUE) 控件-》变量
    b. UpdateData(FALSE) 变量-》控件

与控件类型对象绑定的使用

  1. 控件类型对象和控件可实现对象代表整个控件
  2. 重写父类成员虚函数DoDataExchange,在函数内部通过一系列的DDX_xxx函数,实现控件句柄和控件类型对象的绑定。
  3. 控件类型对象,就代表这个控件
#include <afxwin.h>
#include "resource.h"class CMyDlg:public CDialog {DECLARE_MESSAGE_MAP()
public:enum{IDD=IDD_DIALOG1};CMyDlg():CDialog(IDD) {}public:CString m_strEdit;//数据类型对象CEdit m_ctrlEdit;//控件类型对象virtual void DoDataExchange(CDataExchange* pDX);afx_msg void OnBnClickedButton2();afx_msg void OnBnClickedButton1();afx_msg void OnBnClickedOk();
};void CMyDlg::DoDataExchange(CDataExchange* pDX) {//IDC_EDIT1 控件ID	//m_strEdit 变量//IDC_EDIT1控件和m_strEdit变量绑定DDX_Text(pDX, IDC_EDIT1, m_strEdit);//IDC_EDIT1控件和m_ctrlEdit控件类型对象绑定DDX_Control(pDX, IDC_EDIT1, m_ctrlEdit);}class CMyWinApp:public CWinApp {public:virtual BOOL InitInstance();};BOOL CMyWinApp::InitInstance() {CMyDlg dlg;m_pMainWnd = &dlg;dlg.DoModal();return TRUE;
}CMyWinApp theApp;BEGIN_MESSAGE_MAP(CMyDlg, CDialog)ON_BN_CLICKED(IDC_BUTTON1, &CMyDlg::OnBnClickedButton1)ON_BN_CLICKED(IDC_BUTTON2, &CMyDlg::OnBnClickedButton2)ON_BN_CLICKED(IDOK, &CMyDlg::OnBnClickedOk)
END_MESSAGE_MAP()void CMyDlg::OnBnClickedButton1()
{// TODO: 在此添加控件通知处理程序代码//刷新数据控件(IDC_EDIT1)上的数据刷新到变量(m_strEdit)上UpdateData(TRUE);AfxMessageBox(m_strEdit);
}void CMyDlg::OnBnClickedButton2()
{// TODO: 在此添加控件通知处理程序代码m_strEdit = "ddddd0";//刷新数据,变量(m_strEdit)上的数据刷新到控件(IDC_EDIT1)上UpdateData(FALSE);
}void CMyDlg::OnBnClickedOk()
{m_ctrlEdit.MoveWindow(0, 0, 200, 200);// TODO: 在此添加控件通知处理程序代码//CDialog::OnOK();
}

相关文章:

  • Kubernetes安全策略实战:从PodSecurityPolicy到Pod Security Admission
  • leetcode文件级全局变量会在测试用例之间相互影响
  • FPGA----基于ZYNQ 7020实现定制化的EPICS通信系统
  • 第1章 算法设计基础
  • 305.出现最频繁的偶数元素
  • AI日报 · 2025年5月07日|谷歌发布 Gemini 2.5 Pro 预览版 (I/O 版本),大幅提升编码与视频理解能力
  • Facebook隐私设置详解:如何保护你的个人信息
  • 【工具】HandBrake使用指南:功能详解与视频转码
  • YOLOv8的Python基础--函数篇2
  • 三款实用工具推荐:配音软件+Windows暂停更新+音视频下载!
  • WebRTC通信原理与流程
  • 解构与重构:自动化测试框架的进阶认知之旅
  • 学习整理使用php将SimpleXMLElement 对象解析成数组格式的方法
  • Qt重写相关事件,原来的默认功能是不是丢失了?
  • CVE体系若消亡将如何影响网络安全防御格局
  • 【AI News | 20250507】每日AI进展
  • windows下docker的使用
  • day18 python聚类分析对数据集模型性能影响
  • 1.3 Expression.Lambda表达式树的介绍
  • LVS中的DR模式,直接路由模式
  • 5.19中国旅游日,上海56家景区景点限时门票半价
  • “行人相撞案”现场视频公布,法院:表述不当造成误导
  • 巴基斯坦军方:印度导弹袭击巴首都附近空军基地
  • 报告:4月份新增发行的1763亿元专项债中,投向房地产相关领域约717亿元
  • 101条关于减重的知识,其中一定有你不知道的
  • 大风暴雨致湖南岳阳县6户房屋倒塌、100多户受损