當前位置:編程學習大全網 - 網站源碼 - VC++6.0 月歷控件如何設置初始值

VC++6.0 月歷控件如何設置初始值

CTime a;

CString t;

CMonthCalCtrl *mCtrl=(CMonthCalCtrl*)GetDlgItem(IDC_MONTHCALENDAR1);

mCtrl->GetCurSel(a);

CTime b(2011,7,2,0,0,0);

CTime c(2008,1,1,0,0,0);

CTime time =a-(b-c);

t = time.Format("%Y 年%m月%d日");

AfxMessageBox(t);

對的啊

CTime operator +( CTimeSpan timeSpan ) const;

CTime operator -( CTimeSpan timeSpan ) const;

CTimeSpan operator -( CTime time ) const;

b和c都是CTime,所以它調用第三個-(CTimeSpan operator -( CTime time ) const;),所以它的返回值是CTimeSpan

a是CTime,第二個參數是CTimeSpan,所以調用第二個-(CTime operator -( CTimeSpan timeSpan ) const;)

b和c的時間差大約是兩年多,妳選擇的時間減它,當然少了兩了兩年多

這是壹個Bug

void CDlgDlg::OnButton1()

{

// CTime a;

CString t;

CMonthCalCtrl *mCtrl=(CMonthCalCtrl*)GetDlgItem(IDC_MONTHCALENDAR1);

// mCtrl->GetCurSel(a);

SYSTEMTIME sysTime;

::SendMessage(mCtrl->GetSafeHwnd(), MCM_GETCURSEL, NULL, (LPARAM)&sysTime);

// CTime time =a-(b-c);

t.Format("%d 年%d月%d日",sysTime.wYear,sysTime.wMonth,sysTime.wDay);

AfxMessageBox(t);

}

  • 上一篇:請問易語言能編寫遊戲嗎?
  • 下一篇:了解合約地址的具體內容與使用方法
  • copyright 2024編程學習大全網