由于一个对话框的结构可以被多次用到。除了按钮的文字不一样和图片控件加载的图片不一样以外,布局都一样。这样可以使用同一个对话框类,在创建不同对象时,调用相应的函数修改就可以。
(1)对于非模态对话框,可以直接使用SetDlgItemText()。
CDlgteapass *pdlgstupass = new CDlgteapass;
pdlgstupass->Create(IDD_DIA_TEA_PAS, this);
pdlgstupass->teach = FALSE;
pdlgstupass->stu = TRUE;
pdlgstupass->SetDlgItemText(IDC_USERNAME, _T("学号"));
pdlgstupass->SetDlgItemText(IDC_PASWRD, _T("姓名"));
pdlgstupass->ShowWindow(SW_MAXIMIZE);
此处,我们定义了一个CDlgteapass类,然后直接修改ID号对应控件的文字。
(2)对于模态对话框,上述方法失效。这时,可以现在模态对话框中,设置一个public 变量 比如 CString str1。
然后在ON paint( )消息中添加如下语句。
SetDlgItemText(IDC_MSG_OK, str1);
最后,在外部调用。比如
CDlgteapass pass;
pass.str1=_T("CANCEL");
pass.DoModal();