共用方式為


CDateTimeCtrl::GetTime

從日期時間選擇器控制項在指定的 SYSTEMTIME 結構擷取目前選取的時間來放置。

BOOL GetTime( 
   COleDateTime& timeDest  
) const; 
DWORD GetTime( 
   CTime& timeDest  
) const; 
DWORD GetTime( 
   LPSYSTEMTIME pTimeDest  
) const;

參數

  • timeDest
    在第一個版本,則將會取得系統時間資訊的 COleDateTime 物件的參考。 在第二個版本,則將會取得系統時間資訊的 CTime 物件的參考。

  • pTimeDest
    要取得系統時間資訊的 SYSTEMTIME 結構的指標。 不得為 NULL

傳回值

在第一個版本中,如果不是零,時間會 COleDateTime 物件成功寫入,則為 0。 在第二和第三個版本, DWORD 值等於在 NMDATETIMECHANGE 組態設定的 dwFlag 成員。 請參閱以下 備註 章節以取得詳細資訊。

備註

此成員函式實作 Win32 訊息 DTM_GETSYSTEMTIME的行為 Windows SDK,如中所述。 在 GetTime的 MFC 實作,您可以使用 COleDateTimeCTime 類別,也可以使用 SYSTEMTIME 結構,儲存時間資訊。

在第二和第三個版本的傳回值, DWORD 頂端,如 NMDATETIMECHANGE 結構成員 dwFlags所示表示日期時間選擇器控制項是否設定為「date」沒有狀態。 如果傳回的值等於 GDT_NONE,控制項會將設定為「date」沒有狀態,並使用 DTS_SHOWNONE 樣式。 如果傳回的值等於 GDT_VALID,系統時間在目的位置成功儲存。

範例

void CDateTimeDlg::OnBnClickedTimebutton()
{
   // get as a CTime
   CTime timeTime;
   DWORD dwResult = m_DateTimeCtrl.GetTime(timeTime);
   if (dwResult == GDT_VALID)
   {
      // the user checked the box and specified data
      CString str;

      // is it a time-only control, or a date-only control? 
      if ((m_DateTimeCtrl.GetStyle() & DTS_TIMEFORMAT) == DTS_TIMEFORMAT)
         str = timeTime.Format(_T("%X"));
      else
         str = timeTime.Format(_T("%x"));
      AfxMessageBox(str);
   }
   else
   {
      // the user unmarked the "none" box
      AfxMessageBox(_T("Time not set!"));
   }

   // Calling as SYSTIME is much the same, but calling for a COleDateTime 
   // has us test the state of the COleDateTime object for validity to  
   // see if the user did or didn't check the "none" box.
}

需求

Header: afxdtctl.h

請參閱

參考

CDateTimeCtrl 類別

階層架構圖表

CDateTimeCtrl::SetTime