Share via


CDateTimeCtrl::GetTime

Récupère le temps actuellement sélectionné d'un contrôle Picker aller-retour Date et le place dans une structure spécifiée d' SYSTEMTIME .

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

Paramètres

  • timeDest
    Dans la première version, une référence à un objet COleDateTime qui recevra les informations heure système.Dans la deuxième version, une référence à un objet de CTime qui recevra les informations heure système.

  • pTimeDest
    Un pointeur vers une structure de SYSTEMTIME pour recevoir les informations heure système.Ne doivent pas être NULL.

Valeur de retour

Dans la première version, une valeur différente de zéro si le temps est correctement entré à l'objet d' COleDateTime ; sinon 0.Dans le deuxième et troisième versions, une valeur d' DWORD égal au jeu de membre de dwFlag dans la structure de NMDATETIMECHANGE .Consultez la section de Notes ci-dessous pour plus d'informations.

Notes

Cette fonction membre implémente le comportement du message DTM_GETSYSTEMTIMEWin32, comme décrit dans Kit de développement logiciel Windows.Dans l'implémentation MFC de GetTime, vous pouvez utiliser COleDateTime ou des classes d' CTime , ou vous pouvez utiliser une structure d' SYSTEMTIME , pour stocker l'indication d'heure.

La valeur de retour DWORD dans les deuxième et troisième versions, ci-dessus, indique si le contrôle Date aller-retour Picker est défini en mode « aucune date », comme indiqué dans le membre de structure dwFlagsde NMDATETIMECHANGE .Si la valeur de retour égale GDT_NONE, le contrôle a pour valeur le mode de date « aucun », et utilise le style de DTS_SHOWNONE .Si la valeur de retour égale GDT_VALID, l'heure système est correctement inscrite à l'emplacement de destination.

Exemple

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

Configuration requise

Header: afxdtctl.h

Voir aussi

Référence

Classe de CDateTimeCtrl

Graphique de la hiérarchie

CDateTimeCtrl::SetTime