1. 程式人生 > >VC中的MONTH CALENDAR控制元件(CMonthCalCtrl)--微軟的BUG

VC中的MONTH CALENDAR控制元件(CMonthCalCtrl)--微軟的BUG

使用MONTH CALENDAR控制元件時總是得不到正確的日期。

原因是該控制元件類提供的函式本身就有問題。GetCurSel()中幾個變數沒有被清空,導致資料總是向後延遲了很多。

以下是處理程式碼:

    SYSTEMTIME   st;   
    m_calendar.GetCurSel(
&st);   
    st.wHour 
= st.wMinute = st.wSecond = st.wMilliseconds =0;   
    CTime   refDateTime(st);   

    ADOConn m_AdoConn;
    m_AdoConn.OnInitADOConn();
    _bstr_t vSQL;
    vSQL 
="SELECT CHECKDATE,SUM(DURATION) DURATION FROM DAYVIEW ";
    vSQL 
+=" where to_date(CHECKDATE,'YYYY/MM/DD') = to_date('"+(_bstr_t)refDateTime.Format("%Y/%m/%d")+"','YYYY/MM/DD')";
    vSQL 
+=" GROUP BY CHECKDATE";
//    m_times = (LPCTSTR)(_bstr_t)m_calendar.Format("%Y/%m/%d");
    AfxMessageBox(vSQL);