一、效果图
说明:按copy键可将左上对话框的对话框的内容复制到下面的对话框,按close键退出当前对话框,按设置内容,可将右上角对话框内容设置为呵呵,按获取内容可获取右上角对话框的内容
二、具体步骤
1、新建一个MFC应用程序,命名为03 EditCtrl,应用程序类型选择基于对话框,其他默认设置
2、按ctrl+A,然后按Delete键,清除对话框内的初始内容,并新增一个编辑框
编辑框初始时不支持多行编辑与回车换行,可在右键属性中修改
初始时垂直方向不支持无限输入,也可在属性中修改
添加水平和垂直方向的滚动条
效果如下
3、复制一个编辑框(按ctrl键拖动编辑框),新增两个按钮,如下
4、为第一个编辑框添加变量,设置访问权限和变量名(m_edit1)
5、为copy按钮添加点击事件
void CMy03EditCtrlDlg::OnBnClickedButton2() { // TODO: Add your control notification handler code here //获取edit1的内容,然后给edit2赋值 CString str; m_edit1.GetWindowTextW(str); m_edit2.SetWindowTextW(str); }
6、为close按钮添加点击事件
void CMy03EditCtrlDlg::OnBnClickedButton3() { // TODO: Add your control notification handler code here //exit(0);//退出程序 //退出当前的对话框 //CDialogEx::OnOK(); CDialogEx::OnCancel(); }
7、修改默认生成的编辑框按回车退出的bug
在类视图下,找到DIg类右键属性,重写OnOK事件,注释掉里面的代码
8、新建一个编辑框,两个按钮,效果如下
9、为新建的编辑框添加变量,修改访问权限和类别(进行值绑定),填写变量名称
10、对第一个按钮添加点击事件,设置UpdateData为FALSE,可将变量内容同步到控件中
void CMy03EditCtrlDlg::OnBnClickedButton5() { // TODO: Add your control notification handler code here //利用关联value的方式,设置和改变edit的内容 //设置内容 m_text = TEXT("哈哈"); //将变量内容同步到控件中 UpdateData(FALSE); }
11、对第二个按钮添加点击事件,设置UpdateData为TRUE,可将控件内容同步到变量中
void CMy03EditCtrlDlg::OnBnClickedButton4() { // TODO: Add your control notification handler code here //获取内容 //将控件的内容同步到变量中 UpdateData(TRUE); MessageBox(m_text); }