Cómo establecer el valor inicial del control de calendario VC++6.0
CString t;
CMonthCalCtrl *mCtrl=(CMonthCalCtrl*)GetDlgItem(IDC_MONTHCALENDAR1);
mCtrl->GetCurSel(a); /p>
CHora b(2011,7,2,0,0,0,0);
CHora c(2008,1,1,0,0,0,0);
CTime hora =a-(b-c);
t = time.Format("%Y año %m mes %d día");
AfxMessageBox( t);
Sí, así es
Operador CTime + (CTimeSpan timeSpan) constante;
Operador CTime - (CTimeSpan timeSpan) constante;
operador CTimeSpan -( tiempo CTime ) const;
b y c son ambos CTime, por lo que llama al tercero - (operador CTimeSpan -( tiempo CTime ) const;), por lo que El valor de retorno es CTimeSpan
a es CTime y el segundo parámetro es CTimeSpan, por lo que el segundo -(operador CTime -( CTimeSpan timeSpan ) const;)
byc se llaman La diferencia horaria entre ellos hay aproximadamente dos años, y el tiempo que eliges restar es, por supuesto, aproximadamente dos años menos
Esto es un error
void CDlgDlg::OnButton1()
p>
{
// CTime a;
CString t;
CMonthCalCtrl *mCtrl=(CMonthCalCtrl*)GetDlgItem(IDC_ MONTHCALENDAR1 );
// mCtrl->GetCurSel(a);
SYSTEMTIME sysTime
::SendMessage(mCtrl->GetSafeHwnd(), MCM_ GETCURSEL, NULL, ( LPARAM)&sysTime);
// CTime hora =a-(b-c);
t.Format("%d Año%d Mes%d Día",sysTime .wAño, sysTime.wMes,sysTime.wDía);
AfxMessageBox(t);
}