通常在要绑定变量的编辑框控件上右键添加变量就可以。
绑定变量分value和control两种,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
但只有两处涉及
CEdit edit3;
DDX_Control(pDX, IDC_EDIT3, edit3);
程序里只需要 edit3.GetWindowText(变量);
edit3.SetWindowText(变量);就可以用了
除了赋值,还能干很多事情.