www.pudn.com > RMS2000_C.rar > DateDlg.cpp
// DateDlg.cpp : implementation file
//
#include "stdafx.h"
#include "DrawCli.h"
#include "DateDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CDateDlg dialog
CDateDlg::CDateDlg(CWnd* pParent /*=NULL*/)
: CDialog(CDateDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CDateDlg)
m_szNow = _T("");
m_EditDay = 0;
m_EditMonth = 0;
m_EditYear = 0;
//}}AFX_DATA_INIT
}
void CDateDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CDateDlg)
DDX_Control(pDX, IDC_YEAR_SPIN, m_YearSpin);
DDX_Control(pDX, IDC_MONTH_SPIN, m_MonthSpin);
DDX_Control(pDX, IDC_DAY_SPIN, m_DaySpin);
DDX_Text(pDX, IDC_NOW_DATE, m_szNow);
DDX_Text(pDX, IDC_EDIT_DAY, m_EditDay);
DDX_Text(pDX, IDC_EDIT_MONTH, m_EditMonth);
DDX_Text(pDX, IDC_EDIT_YEAR, m_EditYear);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CDateDlg, CDialog)
//{{AFX_MSG_MAP(CDateDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CDateDlg message handlers
BOOL CDateDlg::OnInitDialog()
{
CDialog::OnInitDialog();
int year,month,day;
char szDate[12];
CDialog::OnInitDialog();
_strdate(szDate);
year=(szDate[6]-'0')*10+szDate[7]-'0';
month=(szDate[0]-'0')*10+szDate[1]-'0';
day=(szDate[3]-'0')*10+szDate[4]-'0';
year=(year>=97)? (year+1900) : (year+2000);
m_YearSpin.SetRange(1997, 2015);
m_YearSpin.SetBase(10);
m_YearSpin.SetPos(year);
m_MonthSpin.SetRange(1, 12);
m_MonthSpin.SetBase(10);
m_MonthSpin.SetPos(month);
m_DaySpin.SetRange(1, 31);
m_DaySpin.SetBase(10);
m_DaySpin.SetPos(day);
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CDateDlg::OnOK()
{
char szBuff[NAME_LEN+4],szTmp[32];
CWnd::GetDlgItemText(IDC_EDIT_YEAR,szTmp,10);
strcat(szTmp,"-");
strcpy(szBuff,szTmp);
CWnd::GetDlgItemText(IDC_EDIT_MONTH,szTmp,10);
if (strlen(szTmp)==1)
{
szTmp[2]=0;
szTmp[1]=szTmp[0];
szTmp[0]='0';
}
strcat(szTmp,"-");
strcat(szBuff,szTmp);
CWnd::GetDlgItemText(IDC_EDIT_DAY,szTmp,10);
if (strlen(szTmp)==1)
{
szTmp[2]=0;
szTmp[1]=szTmp[0];
szTmp[0]='0';
}
strcat(szBuff,szTmp);
strcpy(m_szDate,szBuff);
CDialog::OnOK();
}