一个关于日历控件的问题void CMonthcalDlg::OnOK() 
{
// TODO: Add extra validation here
COleDateTime dtChosenTime;
m_MyMonthCal.GetCurSel(dtChosenTime);
AfxMessageBox(dtChosenTime.Format("%#x"));
CDialog::OnOK();
}程序运行起来后一切正常,不点击日历控件,第一次点击"OK"按钮显示正常,可是当
点击日历控件变成另一天之后,再点击"OK"按钮,显示"无效的日期时间"这是为什么?谢谢!

解决方案 »

  1.   

    我也奇怪,MSDN说他返回的是当前日期,改变后都是-1了,我再找找。
      

  2.   

    我这样做了
    void CTttDlg::OnSelectMonthcalendar1(NMHDR* pNMHDR, LRESULT* pResult) 
    {
    // TODO: Add your control notification handler code here
    CTime time;
    CMonthCalCtrl* pCtrl = (CMonthCalCtrl*) GetDlgItem(IDC_MONTHCALENDAR1);      //对话框中日期控件的ID
    ASSERT(pCtrl != NULL); pCtrl->GetCurSel(time);
    CString strTime = time.Format("%B,%d,%Y");
    MessageBox(strTime);//测试获取的时间
    *pResult = 0;
    }现在你把里面的时间换成公用变量应该行了:)