📄 memodlg.cpp
字号:
// MemoDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Memo.h"
#include "MemoDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CMemoDlg dialog
CMemoDlg::CMemoDlg(CData &data, CWnd* pParent /*=NULL*/)
: CDialog(CMemoDlg::IDD, pParent), m_Data(data)
{
//{{AFX_DATA_INIT(CMemoDlg)
m_strCreatedBy = _T("");
m_strCreatedDate = _T("");
m_strCreatedTime = _T("");
m_strReference = _T("");
m_strSentDate = _T("");
m_strSentTime = _T("");
m_strSentTo = _T("");
m_strSubject = _T("");
//}}AFX_DATA_INIT
}
void CMemoDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CMemoDlg)
DDX_Text(pDX, IDC_CREATEDBY, m_strCreatedBy);
DDX_Text(pDX, IDC_CREATEDDATE, m_strCreatedDate);
DDX_Text(pDX, IDC_CREATEDTIME, m_strCreatedTime);
DDX_Text(pDX, IDC_REFERENCE, m_strReference);
DDX_Text(pDX, IDC_SENTDATE, m_strSentDate);
DDX_Text(pDX, IDC_SENTTIME, m_strSentTime);
DDX_Text(pDX, IDC_SENTTO, m_strSentTo);
DDX_Text(pDX, IDC_SUBJECT, m_strSubject);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CMemoDlg, CDialog)
//{{AFX_MSG_MAP(CMemoDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CMemoDlg message handlers
BOOL CMemoDlg::OnInitDialog()
{
CDialog::OnInitDialog();
m_strCreatedBy = m_Data.m_dataCreatedBy;
if (m_Data.m_dataCreated != 0)
{
m_strCreatedDate.Format ("%02d/%02d/%04d",
m_Data.m_dataCreated.GetMonth(),
m_Data.m_dataCreated.GetDay(),
m_Data.m_dataCreated.GetYear());
m_strCreatedTime.Format ("%02d:%02d:%02d",
m_Data.m_dataCreated.GetHour(),
m_Data.m_dataCreated.GetMinute(),
m_Data.m_dataCreated.GetSecond());
}
if (m_Data.m_dataSent != 0)
{
m_strSentDate.Format ("%02d/%02d/%04d",
m_Data.m_dataSent.GetMonth(),
m_Data.m_dataSent.GetDay(),
m_Data.m_dataSent.GetYear());
m_strSentTime.Format ("%02d:%02d:%02d",
m_Data.m_dataSent.GetHour(),
m_Data.m_dataSent.GetMinute(),
m_Data.m_dataSent.GetSecond());
}
m_strSentTo = m_Data.m_dataSentTo;
m_strSubject = m_Data.m_dataSubject;
m_strReference = m_Data.m_dataReference;
UpdateData (FALSE);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CMemoDlg::OnOK()
{
UpdateData(TRUE);
m_Data.m_dataSubject = m_strSubject;
m_Data.m_dataReference = m_strReference;
CDialog::OnOK();
}
CMemoDlg::CData::CData ()
{
m_dataCreatedBy = _T("");
m_dataCreated = 0;
m_dataReference = _T("");
m_dataSent = 0;
m_dataSentTo = _T("");
m_dataSubject = _T("");
}
CArchive& operator<<(CArchive& ar, CMemoDlg::CData& data)
{
DWORD nBytes;
ar.WriteString (data.m_dataCreatedBy);
nBytes = data.m_dataCreatedBy.GetLength();
// Remember that when you use ReadString to read back the
// data, it stops at a newline. Add the newline here and
// after each string. The other variables have fixed
// sizes and already have CArchive overloads.
ar << '\n';
nBytes += sizeof ('\n');
ar.WriteString (data.m_dataSentTo);
nBytes += data.m_dataSentTo.GetLength ();
ar << '\n';
nBytes += sizeof ('\n');
ar << data.m_dataCreated;
nBytes += sizeof (CTime);
ar << data.m_dataSent;
nBytes += sizeof (CTime);
ar.WriteString (data.m_dataSubject);
nBytes += data.m_dataSubject.GetLength();
ar << '\n';
nBytes += sizeof ('\n');
ar.WriteString (data.m_dataReference);
nBytes += data.m_dataReference.GetLength();
ar << '\n';
nBytes += sizeof ('\n');
nBytes += sizeof (DWORD);
ar << nBytes;
return (ar);
}
CArchive& operator>>(CArchive& ar, CMemoDlg::CData& data)
{
ar.ReadString (data.m_dataCreatedBy);
ar.ReadString (data.m_dataSentTo);
ar >> data.m_dataCreated;
ar >> data.m_dataSent;
ar.ReadString (data.m_dataSubject);
ar.ReadString (data.m_dataReference);
return (ar);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -