Freigeben über


CDateTimeCtrl::GetTime

Ruft die aktuell ausgewählte Zeit von einem Steuerelement für die Datums- und Zeitauswahl ab und legt sie in eine angegebene SYSTEMTIME-Struktur ein.

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

Parameter

  • timeDest
    In der ersten Version ein Verweis auf ein COleDateTime-Objekt, das die Systemzeitinformationen abruft.In der zweiten Version ein Verweis auf ein CTime-Objekt, das die Systemzeitinformationen abruft.

  • pTimeDest
    Ein Zeiger auf die SYSTEMTIME-Struktur, um die Systemzeitinformationen zu erhalten.Muss NULL nicht sein.

Rückgabewert

In der ersten Version ungleich 0 (null), wenn die Zeit erfolgreich zum COleDateTime-Objekt geschrieben wird; andernfalls 0.In der zweiten und dritten Versionen ein DWORD-Wert gleich dem dwFlag-Member festgelegt NMDATETIMECHANGE in der Struktur.Siehe den Abschnitt unten Remarks weitere Informationen.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Meldung DTM_GETSYSTEMTIME, wie in Windows SDK beschrieben.In der MFC-Implementierung von GetTime, können Sie COleDateTime oder CTime-Klassen verwenden, oder Sie können eine SYSTEMTIME-Struktur verwenden, um die Zeitinformationen zu speichern.

Der Rückgabewert DWORD im zweiten und dritten Versionen oben angibt, ob das Steuerelement für die Datums- und Zeitauswahl zum Status "Keine Datums" festgelegt ist, wie im NMDATETIMECHANGE-Strukturmember dwFlags angegeben.Wenn der zurückgegebene Wert GDT_NONE entspricht, wird das Steuerelement den Status "Keine Datums" festgelegt und das DTS_SHOWNONE Format verwendet.Wenn der zurückgegebene Wert GDT_VALID entspricht, wird die Systemzeit erfolgreich im Zielspeicherort gespeichert.

Beispiel

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

Anforderungen

Header: afxdtctl.h

Siehe auch

Referenz

CDateTimeCtrl-Klasse

Hierarchien-Diagramm

CDateTimeCtrl::SetTime