在创建对话框之前修改对话框的控件

由于一个对话框的结构可以被多次用到。除了按钮的文字不一样和图片控件加载的图片不一样以外,布局都一样。这样可以使用同一个对话框类,在创建不同对象时,调用相应的函数修改就可以。

(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();

  

猜你喜欢

转载自blog.csdn.net/zane_njfu/article/details/80179663
今日推荐