动态创建控件(EDIT)添加关联变量
2015-05-14 20:05
429 查看
转自:http://blog.sina.com.cn/s/blog_603596e701013o5t.html
我们知道如果在资源视图中添加了某个控件之后,如果想把它关联一个变量的话,可以使用类向导中来添加关联变量,但是动态创建的按钮如何让其关联变量呢?
1、在CMyDlg.cpp前面定义变量:
int num1; //定义 动态编辑框变量
int num2;
int num3;
CEdit m_edit1 ; // 定义 创建动态编辑框
CEdit m_edit2 ;
CEdit m_edit3 ;
2、在DataExchang里关联动态控件与 变量的关系
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
DDX_Text(pDX,10001,num1); // 添加数据关联 动态控件 1000x 系列 与numx系列的对应
DDX_Text(pDX,10002,num2);
DDX_Text(pDX,10003,num3);
// DDX_Text(pDX,IDC_EDIT1,num1); //这里不能用 字母表示的控件文字 用字
// DDX_Text(pDX,IDC_EDIT2,num2);
// DDX_Text(pDX,IDC_EDIT3,num3);
//}}AFX_DATA_MAP
}
3、在Init里创建Edit
BOOL CMyDlg::OnInitDialog()
{
//创建动态对话框 控件号用数字表示 CRect()里为坐上和右下的坐标
m_edit1.Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,CRet(10,10,100,30),this,10001 );
m_edit2.Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,CRect(10,50,100,70),this,10002);
m_edit3.Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,CRect(10,90,100,110),this,10003);
//创建的对话框 ID号不能为 字母
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
......
}
4、OK按钮响应动作
void CMyDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(true);
num3=num1+num2;
UpdateData(false);
}
效果如下图:
![](http://s11.sinaimg.cn/middle/603596e7hbd8c5419a25a&690)
我们知道如果在资源视图中添加了某个控件之后,如果想把它关联一个变量的话,可以使用类向导中来添加关联变量,但是动态创建的按钮如何让其关联变量呢?
1、在CMyDlg.cpp前面定义变量:
int num1; //定义 动态编辑框变量
int num2;
int num3;
CEdit m_edit1 ; // 定义 创建动态编辑框
CEdit m_edit2 ;
CEdit m_edit3 ;
2、在DataExchang里关联动态控件与 变量的关系
void CMyDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMyDlg)
// NOTE: the ClassWizard will add DDX and DDV calls here
DDX_Text(pDX,10001,num1); // 添加数据关联 动态控件 1000x 系列 与numx系列的对应
DDX_Text(pDX,10002,num2);
DDX_Text(pDX,10003,num3);
// DDX_Text(pDX,IDC_EDIT1,num1); //这里不能用 字母表示的控件文字 用字
// DDX_Text(pDX,IDC_EDIT2,num2);
// DDX_Text(pDX,IDC_EDIT3,num3);
//}}AFX_DATA_MAP
}
3、在Init里创建Edit
BOOL CMyDlg::OnInitDialog()
{
//创建动态对话框 控件号用数字表示 CRect()里为坐上和右下的坐标
m_edit1.Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,CRet(10,10,100,30),this,10001 );
m_edit2.Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,CRect(10,50,100,70),this,10002);
m_edit3.Create( WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER,CRect(10,90,100,110),this,10003);
//创建的对话框 ID号不能为 字母
CDialog::OnInitDialog();
// Add "About..." menu item to system menu.
......
}
4、OK按钮响应动作
void CMyDlg::OnOK()
{
// TODO: Add extra validation here
UpdateData(true);
num3=num1+num2;
UpdateData(false);
}
效果如下图:
相关文章推荐
- C++ MFC / VS2013 之六 (对话框:创建对话框类和添加控件变量)
- Runtime 创建动态一个类 添加成员变量 属性
- VS2010/MFC编程入门之八(对话框:创建对话框类和添加控件变量)
- VS2010/MFC对话框三:创建对话框类和添加控件变量
- net4:Panel动态添加控件及隐藏,Table动态创建表格
- DELPHI 动态 创建和释放 多个 EDIT 控件
- 【Objective-C Runtime动态加载】---动态创建类Class 动态创建类Class,动态添加Class成员变量与成员函数,动态变量赋值与取值,动态函数调用等方法 a.使用objc_
- vs2008 添加控件变量关联右击控件添加变量是灰色的原因
- android动态加载控件(LinearLayout)并获取动态添加的EditText里的值
- 鸡啄米vc++2010系列7(对话框:创建对话框类和添加控件变量)
- 动态创建控件的消息响应添加
- VS2013/MFC编程入门之七(对话框:创建对话框类和添加控件变量)
- 添加动态创建控件的消息的简便方法
- DELPHI 动态 创建和释放 多个 EDIT 控件
- 鸡啄米vc++2010系列7(对话框:创建对话框类和添加控件变量)
- vs2008 添加控件变量关联右击控件添加变量是灰色的原因
- MFC动态创建控件及添加消息响应
- asp.net C#动态添加创建生成button按钮控件没有触发执行响应click绑定事件处理
- 动态创建控件并给它添加事件处理
- vs2008 添加控件变量关联右击控件添加变量是灰色的原因