MFC控件关联变量总结

来源:互联网 发布:武林外传演技最差 知乎 编辑:程序博客网 时间:2024/05/29 14:37

MFC控件关联变量总结

通常在要绑定变量的编辑框控件上右键添加变量就可以。

绑定变量分valuecontrol两种,value是赋值用的,control是控制用的。

对于编辑框的赋值,共分几种方法
1.
不用绑定变量的方法

GetDlgItem(IDC_EDIT1)->GetWindowText(变量)  如果是数组->GetWindowText(数组名,长度)

GetDlgItem(IDC_EDIT1)->SetWindowText(变量)
2.
绑的是value型变量
一共3

<1>project1Dlg.h:头文件
class Cproject1Dlg : public CDialog
{
//
构造
public:
 Cproject1Dlg(CWnd* pParent = NULL); //
标准构造函数

// 对话框数据
 enum { IDD = IDD_PROJECT1_DIALOG };

 protected:
 virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV
支持


//
实现
protected:
 HICON m_hIcon;

 //生成的消息映射函数
 virtual BOOL OnInitDialog();
 afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
 afx_msg void OnPaint();
 afx_msg HCURSOR OnQueryDragIcon();
 DECLARE_MESSAGE_MAP()
public:
 afx_msg void OnBnClickedOk();
 CString edit1;    
//定义了该变量
 CString edit2;
 CEdit edit3;
 CEdit edit4;
 CString edit5;
};
<2
>project1Dlg.cpp :实现文件
Cproject1Dlg::Cproject1Dlg(CWnd* pParent )
 : CDialog(Cproject1Dlg::IDD, pParent)
 , edit1(_T(""))
 , edit2(_T(""))
 , edit5(_T(""))
{
 m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}


参数列表跟了edit1
<3
>project1Dlg.cpp :实现文件
void Cproject1Dlg::DoDataExchange(CDataExchange* pDX)
{
 CDialog::DoDataExchange(pDX);
 DDX_Text(pDX, IDC_EDIT1, edit1);
 DDX_Text(pDX, IDC_EDIT2, edit2);
 DDX_Control(pDX, IDC_EDIT3, edit3);
 DDX_Control(pDX, IDC_EDIT4, edit4);
 DDX_Text(pDX, IDC_EDIT5, edit5);
}

 

DDX_Text(pDX,IDC_EDIT1, edit1);  变量与控件关联


通过调用UpdateData(TRUE)  UpdateData(FALSE)将控件数据取到变量或将变量数据显到控件

如果变量赋值语句写在对话框构造函数里,则UpdateData(FALSE)可省略,会被自动调用

 

3. 绑的是control型变量
代码与上方一样,edit3

但只有两处涉及

CEditedit3;

DDX_Control(pDX,IDC_EDIT3, edit3);

程序里只需要   edit3.GetWindowText(变量);
               
edit3.SetWindowText(变量);就可以用了

除了赋值,还能干很多事情.

 

0 0
原创粉丝点击