zoukankan      html  css  js  c++  java
  • MFC中建立关联变量的几种方式

    1. 通过类向导创建关联变量
      在对话框资源上右键-》类向导-》成员变量分页-》选中控件ID,右边添加变量(可以选value型和Contrl型)
      添加关联变量的结果:
      //在头文件中
      CListCtrl m_list;
      //在cpp文件中添加了一行
      void CtestDialogDlg::DoDataExchange(CDataExchange* pDX)
      {
      	CDialogEx::DoDataExchange(pDX);
      	DDX_Control(pDX, IDC_LIST1, m_list);//添加的一行
      }
      
      //值型关联变量 使用时
      UpdateData(TRUE); 将界面控件中的值更新到变量
      UpdateData(FALSE); 将变量的值更新到界面控件
      
    2. 通过函数建立控件型关联变量
      a) CWnd::Attach  将一个窗口句柄嫁接到一个CWnd类型变量中
      b) CWnd::Detach 移除嫁接到CWnd变量中的句柄。
      c) CWnd::SubClassWindow 子类化一个窗口句柄到CWnd派生类变量中,不但要把句柄关联进入CWnd对象中,并且还要将窗口的消息映射到CWnd的子类中。
      d) CWnd::UnsubclassWindow 解除子类化
      f) CWnd::SubclassDlgItem 根据窗口ID子类化对应窗口
      

       使用如下:

      BOOL CtestDialogDlg::OnInitDialog()
      {
      	CDialogEx::OnInitDialog();
      	m_numb.SubclassDlgItem(IDC_NUMB, this);//不需要解除
      	HWND hCombo, hList;
      	GetDlgItem(IDC_DEPT, &hCombo);
      	GetDlgItem(IDC_LIST, &hList);
      	m_combo.SubclassWindow(hCombo);
      	m_list.Attach(hList);
      	//...
      }
      
      void CtestDialogDlg::OnDestroy()
      {
      	CDialogEx::OnDestroy();
      	m_combo.UnsubclassWindow();//解除绑定
      	m_list.Detach();//解除绑定
      }
      

    常记溪亭日暮,沉醉不知归路。兴尽晚回舟,误入藕花深处。争渡,争渡,惊起一滩鸥鹭。

    昨夜雨疏风骤,浓睡不消残酒。试问卷帘人,却道海棠依旧。知否?知否?应是绿肥红瘦。
  • 相关阅读:
    第01组 Beta冲刺(1/5)
    2019 SDN上机第6次作业
    2019 SDN上机第5次作业
    SDN课程阅读作业(2)
    USDT钱包对接交易所 寻找最便捷的USDT充提币API接口文档
    EOS区块链钱包开发教程
    XRP钱包对接教程
    usdt钱包如何跟交易所对接?
    BTC_ETH_USDT_自动充提币API接口,钱包对接交易所教程!
    BTC bitcoin-cli转账及交易的API使用教程
  • 原文地址:https://www.cnblogs.com/htj10/p/11916826.html
Copyright © 2011-2022 走看看