MFC中把变量中的数据显示到控件中的方法有多种,其中比较直接的方法就是通过控件ID使用函数GetDlgItem获取一个指向控件的指针,然后使用函数SetWindowText对控件设置一个值。具体方法如下:
方法1:我这里使用的环境是VS2010。首先创建一个基于对话框的MFC应用程序,习惯性的把自动生成的控件删掉。然后创建一个按钮和一个文本框,如下图:(pic1)
然后为按钮1添加一个点击事件处理程序,程序如下:
void Ctest_VarToDlgDlg::OnBnClickedButton1()
{
// TODO: 在此添加控件通知处理程序代码
CString str="Hello World!";//定义一个变量
CEdit *DlgEdit;//定义一个指针变量
DlgEdit=(CEdit*)GetDlgItem(IDC_EDIT1);//获取一个指向编辑框IDC_EDIT1的指针
DlgEdit->SetWindowText(str);//通过这个指针把变量str的值设置到编辑框里
}
编译程序运行效果如下图:(pic2)
方法2:还有一个必须会的方法是通过给控件关联一个变量,然后使用UpdateData()函数来为控件设置值,这里还是创建一个按钮和一个文本框来做例子。如下图:(pic3,pic4)
然后为按钮2添加一个点击事件处理程序,程序如下:
void Ctest_VarToDlgDlg::OnBnClickedButton2()
{
// TODO: 在此添加控件通知处理程序代码
m_Edit2="Hello World!";//为关联控件的变量赋值
UpdateData(FALSE);//功能:把变量中的值更新到控件中
}
编译程序运行效果如下图:(pic5)