在控制台下正文可以显示成下面的这种,但是在有界面的情况下不自动换行了
下面这是MFC中的邮件显示代码(主要帮我看看正文的显示):
show是一个对话框类的对象,m_show 是和对话框中编辑框绑定的value值变量
void CEmailDlg::OnDblclkListEmail()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
//MessageBox(m_strList);
CString fileName = m_strList;
fileName += ".eml";
CString stra(fileName.GetBuffer(0));
//ShellExecute(NULL, _T("open"), stra, NULL, NULL, SW_SHOWNORMAL);
IMessagePtr imsgptr=Load_Message_from_File((_bstr_t)stra);
BSTR bsfrom; //其实就是WCHAR*
DATE OD;
imsgptr->get_From(&bsfrom);//获得发件人
_bstr_t bfrom(bsfrom);
//CString Cfrom=(LPCSTR)bfrom;
printf("%s\n", WcharToChar(bfrom));
show.m_show = "收件人: ";
show.m_show += WcharToChar(bfrom);
imsgptr->get_To(&bsfrom);//获得收件人
_bstr_t bto(bsfrom);
printf("%s\n", WcharToChar(bto));
show.m_show += "\r\n\r\n发件人: ";
show.m_show += WcharToChar(bto);
// UpdateData(FALSE);
imsgptr->get_Subject(&bsfrom);//获得邮件标题
_bstr_t Bsub(bsfrom);
printf("%s\n", WcharToChar(Bsub));
show.m_show += "\r\n\r\n标题: ";
show.m_show += WcharToChar(Bsub);
imsgptr->get_TextBody(&bsfrom);//获得邮件正文
_bstr_t Btb(bsfrom);
printf("%s\n", WcharToChar(Btb));
show.m_show += "\r\n\r\n正文: ";
show.m_show += WcharToChar(Btb);
imsgptr->get_ReceivedTime(&OD);//获得收发时间
_variant_t GetMaliTime;
GetMaliTime.ChangeType(VT_DATE);
GetMaliTime=OD;
_bstr_t Btime(GetMaliTime);
printf("%s\n", WcharToChar(Btime));//赋值给CString
show.m_show += "\r\n\r\n\r\n发件时间: ";
show.m_show += WcharToChar(Btime);
show.DoModal();
UpdateData(FALSE);
}