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