您的位置:首页 > 其它

动态创建控件(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);

}

效果如下图:



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐