Udostępnij za pośrednictwem


CDateTimeCtrl::GetTime

Pobiera aktualnie zaznaczonego czasu z formant wyboru daty i godziny i umieszcza go w określonym SYSTEMTIME struktury.

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

Parametry

  • timeDest
    W pierwszej wersji odniesienie do COleDateTime obiekt, który otrzyma dotyczących czasu systemowego.W wersji drugie odniesienie do CTime obiekt, który otrzyma dotyczących czasu systemowego.

  • pTimeDest
    Wskaźnik do SYSTEMTIME strukturę, aby otrzymywać informacje czasu systemu.Nie może być NULL.

Wartość zwracana

W pierwszej wersji niezerowa, jeśli zapisywany jest czas pomyślnie COleDateTime obiektu; 0 inaczej.W wersjach drugiego i trzeciego DWORD wartość równą Strsafe_fill_behind_null zestawu elementów członkowskich NMDATETIMECHANGE struktury.Zobacz uwagi sekcji poniżej, aby uzyskać więcej informacji.

Uwagi

Ta funkcja Członkowskie implementuje zachowanie komunikatu Win32 DTM_GETSYSTEMTIME, jak opisano w Windows SDK.W realizacji MFC GetTime, można użyć COleDateTime lub CTime można użyć klasy lub SYSTEMTIME struktury do przechowywania informacji o czasie.

Zwracana wartość DWORD w wersji drugiego i trzeciego powyżej, wskazuje formant wyboru daty i godziny lub nie ustawiono stan "Brak daty", jak wskazano w NMDATETIMECHANGE Członkowskich struktury dwFlags.Jeśli wartość zwracana jest równa GDT_NONE, formant jest ustawiona na "Brak daty" stan i używa DTS_SHOWNONE styl.Jeśli wartość zwracana jest równa GDT_VALID, czas systemowy pomyślnie jest przechowywany w lokalizacji docelowej.

Przykład

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.
}

Wymagania

Nagłówek: afxdtctl.h

Zobacz też

Informacje

Klasa CDateTimeCtrl

Wykres hierarchii

CDateTimeCtrl::SetTime