我想从对话框中获得编辑正文(又很多控件),并分行显示到视图中。但最后显示的只是:工资收入:*** 。其他行都没有显示出来,请问这是为什么。编译通过的。部分代码如下:
void CRegisterView::OnEditRegister() 
{
// TODO: Add your command handler code here
CRegisterDialog dlg;
if (dlg.DoModal()==IDOK)
{
CString str;
GetWindowText(str);
str+="\r\n";
str+="姓名:"; str+=dlg.m_strName; str+="\r\n";
str+="性别:"; str+=dlg.m_nSex?"女":"男"; str+="\r\n"; str+="年龄";
CString str1;
str1.Format("%d",dlg.m_nAge);
str+=str1;  str+="\r\n";
str="婚否:"; str+=dlg.m_bMarried? "已婚": "未婚"; str+="\r\n" ;
str="就业状况:" ; str+=dlg.m_nWork? "下岗": "在职"; str+="\r\n" ;
str="工作单位:" ; str+=dlg.m_strUnit ; str+="\r\n" ;
str="单位性质:" ; str+=dlg.m_strKind ; str+="\r\n" ;
str="工资收入:" ; str+=dlg.m_strlIncome ; str+="\r\n" ;
SetWindowText(str);
}
}

解决方案 »

  1.   

    str="工作单位:" ; str+=dlg.m_strUnit ; str+="\r\n" ;
    str="单位性质:" ; str+=dlg.m_strKind ; str+="\r\n" ;
    str="工资收入:" ; str+=dlg.m_strlIncome ; str+="\r\n" ;
    --------------------------
    你自己看看你的程序!一直在修改str。当然是你这种效果了!
    你前半部分明明是用str1记录临时的,然后合到str种,为什么后面都直接改str了?不就把你前面写的冲掉了?????????
    应该是str+="工资收入:" ;