Share via


La classe CDateTimeCtrl

Encapsule les fonctionnalités d'un contrôle de sélecteur de date et d'heure.

Syntaxe

class CDateTimeCtrl : public CWnd

Membres

Constructeurs publics

Nom Description
CDateTimeCtrl::CDateTimeCtrl Construit un objet CDateTimeCtrl.

Méthodes publiques

Nom Description
CDateTimeCtrl::CloseMonthCal Ferme le contrôle de sélecteur de date et d’heure actuel.
CDateTimeCtrl::Create Crée le contrôle sélecteur de date et d’heure et l’attache à l’objet CDateTimeCtrl .
CDateTimeCtrl::GetDateTimePickerInfo Récupère des informations sur le contrôle de sélecteur de date et d’heure actuel.
CDateTimeCtrl::GetIdealSize Retourne la taille idéale du contrôle sélecteur de date et d’heure requis pour afficher la date ou l’heure actuelles.
CDateTimeCtrl::GetMonthCalColor Récupère la couleur d’une partie donnée du calendrier du mois dans le contrôle du sélecteur de date et d’heure.
CDateTimeCtrl::GetMonthCalCtrl Récupère l’objet CMonthCalCtrl associé au contrôle sélecteur de date et d’heure.
CDateTimeCtrl::GetMonthCalFont Récupère la police actuellement utilisée par le contrôle calendrier du sélecteur de date et d’heure du mois enfant.
CDateTimeCtrl::GetMonthCalStyle Obtient le style du contrôle du sélecteur de date et d’heure actuel.
CDateTimeCtrl::GetRange Récupère les heures système minimales et maximales actuelles pour un contrôle de sélecteur de date et d’heure.
CDateTimeCtrl::GetTime Récupère l’heure actuellement sélectionnée à partir d’un contrôle de sélecteur de date et d’heure et la place dans une structure spécifiée SYSTEMTIME .
CDateTimeCtrl::SetFormat Définit l’affichage d’un contrôle sélecteur de date et d’heure conformément à une chaîne de format donnée.
CDateTimeCtrl::SetMonthCalColor Définit la couleur d’une partie donnée du calendrier mensuel dans un contrôle de sélecteur de date et d’heure.
CDateTimeCtrl::SetMonthCalFont Définit la police que le contrôle calendrier du sélecteur de date et d’heure utilise le contrôle calendrier du mois enfant.
CDateTimeCtrl::SetMonthCalStyle Définit le style du contrôle de sélecteur de date et d’heure actuel.
CDateTimeCtrl::SetRange Définit les heures système minimales et maximales autorisées pour un contrôle de sélecteur de date et d’heure.
CDateTimeCtrl::SetTime Définit l’heure dans un contrôle sélecteur de date et d’heure.

Notes

Le contrôle de sélecteur de date et d’heure (contrôle DTP) fournit une interface simple pour échanger des informations de date et d’heure avec un utilisateur. Cette interface contient des champs, chacun affichant une partie des informations de date et d’heure stockées dans le contrôle. L’utilisateur peut modifier les informations stockées dans le contrôle en modifiant le contenu de la chaîne dans un champ donné. L’utilisateur peut passer d’un champ à l’autre à l’aide de la souris ou du clavier.

Vous pouvez personnaliser le contrôle du sélecteur de date et d’heure en appliquant un large éventail de styles à l’objet lorsque vous le créez. Pour plus d’informations sur les styles de contrôle du sélecteur de date et d’heure dans le Kit de développement logiciel (SDK) Windows, consultez les styles spécifiques au contrôle du sélecteur de date et d’heure. Vous pouvez définir le format d’affichage du contrôle DTP à l’aide de styles de format. Ces styles de format sont décrits sous « Styles de mise en forme » dans la rubrique date et heure du sélecteur de paramètres du kit de développement logiciel (SDK) Windows.

Le contrôle du sélecteur de date et d’heure utilise également des notifications et des rappels, qui sont décrits dans Using CDateTimeCtrl.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CDateTimeCtrl

Spécifications

En-têteafxdtctl.h:

CDateTimeCtrl::CDateTimeCtrl

Construit un objet CDateTimeCtrl.

CDateTimeCtrl();

CDateTimeCtrl::CloseMonthCal

Ferme le contrôle de sélecteur de date et d’heure actuel.

void CloseMonthCal() const;

Notes

Cette méthode envoie le DTM_CLOSEMONTHCAL message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit la variable, m_dateTimeCtrlutilisée pour accéder par programmation au contrôle du sélecteur de date et d’heure. Cette variable est utilisée dans l'exemple suivant.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

L’exemple de code suivant ferme le calendrier déroulant du contrôle de sélecteur de date et d’heure actuel.

void CCDateTimeCtrl_s1Dlg::OnXClosemonthcal()
{
   // Close the month calendar control dropdown.
   m_dateTimeCtrl.CloseMonthCal();
}

CDateTimeCtrl::Create

Crée le contrôle sélecteur de date et d’heure et l’attache à l’objet CDateTimeCtrl .

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Paramètres

dwStyle
Spécifie la combinaison des styles de contrôle date/heure. Pour plus d’informations sur les styles de sélecteur de date et d’heure, consultez les styles de contrôle du sélecteur de date et d’heure dans le Kit de développement logiciel (SDK) Windows.

rect
Référence à une RECT structure, qui est la position et la taille du contrôle du sélecteur de date et d’heure.

pParentWnd
Pointeur vers un CWnd objet qui est la fenêtre parente du contrôle sélecteur de date et d’heure. Il ne doit pas être NULL.

nID
Spécifie l’ID de contrôle du sélecteur de date et d’heure.

Valeur de retour

Différent de zéro si la création a réussi ; sinon 0.

Notes

Pour créer un contrôle sélecteur de date et d’heure
  1. Appelez CDateTimeCtrl pour construire un CDateTimeCtrl objet.

  2. Appelez cette fonction membre, qui crée le contrôle sélecteur de date et d’heure Windows et l’attache à l’objet CDateTimeCtrl .

Lorsque vous appelez Create, les contrôles courants sont initialisés.

Exemple

// choose an arbitrary rectangle for creation
CRect rect(20, 20, 120, 45);
m_DateTimeCtrl.Create(WS_VISIBLE | WS_CHILD | WS_TABSTOP | DTS_SHOWNONE |
                          DTS_SHORTDATEFORMAT,
                      rect, this, IDC_DATETIMECTRL);

CDateTimeCtrl::GetDateTimePickerInfo

Récupère des informations sur le contrôle de sélecteur de date et d’heure actuel.

BOOL GetDateTimePickerInfo(LPDATETIMEPICKERINFO pDateTimePickerInfo) const;

Paramètres

pDateTimePickerInfo
[out] Pointeur vers une DATETIMEPICKERINFO structure qui reçoit une description du contrôle de sélecteur de date et d’heure actuel. L’appelant est responsable de l’allocation de cette structure. Toutefois, cette méthode initialise le cbSize membre de la structure.

Valeur de retour

TRUE si cette méthode réussit ; sinon, FALSE.

Notes

Cette méthode envoie le DTM_GETDATETIMEPICKERINFO message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit la variable, m_dateTimeCtrlutilisée pour accéder par programmation au contrôle du sélecteur de date et d’heure. Cette variable est utilisée dans l'exemple suivant.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

L’exemple de code suivant indique s’il récupère correctement des informations sur le contrôle de sélecteur de date et d’heure actuel.

void CCDateTimeCtrl_s1Dlg::OnXGetdatetimepickerinfo()
{
   // Get information about the date-time picker control.
   DATETIMEPICKERINFO dtpi = {0};
   dtpi.cbSize = sizeof(DATETIMEPICKERINFO);
   BOOL rc = m_dateTimeCtrl.GetDateTimePickerInfo(&dtpi);
   if (rc == TRUE)
      AfxMessageBox(_T("Information retrieved"),
                    MB_ICONEXCLAMATION);
   else
      AfxMessageBox(_T("Information was not retrieved"));
}

CDateTimeCtrl::GetMonthCalColor

Récupère la couleur d’une partie donnée du calendrier du mois dans le contrôle du sélecteur de date et d’heure.

COLORREF GetMonthCalColor(int iColor) const;

Paramètres

iColor
Valeur int spécifiant la zone de couleur du calendrier mensuel à récupérer. Pour obtenir la liste des valeurs, consultez le iColor paramètre pour SetMonthCalColor.

Valeur de retour

Valeur COLORREF qui représente le paramètre de couleur de la partie spécifiée du contrôle calendrier mois en cas de réussite. La fonction retourne -1 en cas d’échec.

Notes

Cette fonction membre implémente le comportement du message DTM_GETMCCOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

// Set the color for the text in the control and
// assure it was set properly. Unlike the GetMonthCalCtrl() member,
// GetMonthCalColor() and SetMonthCalColor() can be used at any time.
m_DateTimeCtrl.SetMonthCalColor(MCSC_TEXT, RGB(255, 0, 0));
VERIFY(m_DateTimeCtrl.GetMonthCalColor(MCSC_TEXT) == RGB(255, 0, 0));

CDateTimeCtrl::GetMonthCalCtrl

Récupère l’objet CMonthCalCtrl associé au contrôle sélecteur de date et d’heure.

CMonthCalCtrl* GetMonthCalCtrl() const;

Valeur de retour

Pointeur vers un CMonthCalCtrl objet, ou NULL en cas d’échec ou si la fenêtre n’est pas visible.

Notes

Les contrôles du sélecteur de date et d’heure créent un contrôle calendrier de mois enfant lorsque l’utilisateur sélectionne la flèche déroulante. Lorsque l’objet CMonthCalCtrl n’est plus nécessaire, il est détruit. Par conséquent, votre application ne doit pas s’appuyer sur le stockage de l’objet représentant le calendrier mensuel enfant du contrôle de date et heure.

Exemple

void CDateTimeDlg::OnDropDownDateTimeCtrl(NMHDR *pNMHDR, LRESULT *pResult)
{
   UNREFERENCED_PARAMETER(pNMHDR);

   // note that GetMonthCalCtrl() will only return a pointer to the
   // month calendar control while the control actually exists--that is,
   // while it has been dropped-down by the user. Otherwise, the function
   // returns NULL. One appropriate time to get the control is while
   // handling the DTN_DROPDOWN notification for the date time picker
   // control.

   // get the control
   CMonthCalCtrl *pMoCalCtrl = m_DateTimeCtrl.GetMonthCalCtrl();
   ASSERT(pMoCalCtrl != NULL);

   // now, pMoCalCtrl is useful...

   *pResult = 0;
}

CDateTimeCtrl::GetMonthCalFont

Obtient la police actuellement utilisée par le contrôle calendrier du sélecteur de date et d’heure.

CFont* GetMonthCalFont() const;

Valeur de retour

Pointeur vers un CFont objet ou NULL en cas d’échec.

Notes

L’objet CFont pointé par la valeur de retour est un objet temporaire et est détruit pendant le prochain temps de traitement inactif.

CDateTimeCtrl::GetMonthCalStyle

Obtient le style du contrôle calendrier de mois déroulant associé au contrôle de sélecteur de date et d’heure actuel.

DWORD GetMonthCalStyle() const;

Valeur de retour

Style du contrôle calendrier du mois déroulant, qui est une combinaison de bits (OR) des styles de contrôle du sélecteur de date et d’heure. Pour plus d’informations, consultez Styles de contrôle calendrier mois.

Notes

Cette méthode envoie le DTM_GETMCSTYLE message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

CDateTimeCtrl::GetRange

Récupère les heures système minimales et maximales actuelles pour un contrôle de sélecteur de date et d’heure.

DWORD GetRange(
    COleDateTime* pMinRange,
    COleDateTime* pMaxRange) const;

DWORD GetRange(
    CTime* pMinRange,
    CTime* pMaxRange) const;

Paramètres

pMinRange
Pointeur vers un COleDateTime objet ou un CTime objet contenant la durée la plus ancienne autorisée dans l’objet CDateTimeCtrl .

pMaxRange
Pointeur vers un COleDateTime objet ou un CTime objet contenant la dernière heure autorisée dans l’objet CDateTimeCtrl .

Valeur de retour

Valeur DWORD contenant des indicateurs qui indiquent quelles plages sont définies. If

return value & GDTR_MAX == 0

puis le deuxième paramètre est valide. De même, si

return value & GDTR_MIN == 0

puis le premier paramètre est valide.

Notes

Cette fonction membre implémente le comportement du message DTM_GETRANGEWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows. Dans l’implémentation de MFC, vous pouvez spécifier l’une ou CTime l’autre COleDateTime utilisation.

Exemple

// This function will set several ranges in the control, then
// call the ShowRange() function to show the set ranges to the
// user.
void CDateTimeDlg::OnBnClickedRangesbutton()
{
   // Set minimum of January 1st, 1995 with no maximum.
   COleDateTime dtMin;
   COleDateTime dtMax;

   dtMin = COleDateTime(1995, 1, 1, 0, 0, 0);
   dtMax.SetStatus(COleDateTime::null);
   m_DateTimeCtrl.SetRange(&dtMin, &dtMax);
   ShowRange(&m_DateTimeCtrl);

   // Set no minimum and maximum of September 30th, 1997.
   dtMin.SetStatus(COleDateTime::null);
   dtMax = COleDateTime(1997, 9, 30, 0, 0, 0);
   m_DateTimeCtrl.SetRange(&dtMin, &dtMax);
   ShowRange(&m_DateTimeCtrl);

   // Set minimum of April 15, 1992 and maximum of June 5, 2002.
   dtMin = COleDateTime(1992, 4, 15, 0, 0, 0);
   dtMax = COleDateTime(2002, 6, 5, 0, 0, 0);
   m_DateTimeCtrl.SetRange(&dtMin, &dtMax);
   ShowRange(&m_DateTimeCtrl);
}

void CDateTimeDlg::ShowRange(CDateTimeCtrl *pCtrl)
{
   ASSERT(pCtrl != NULL);
   CString strMessage;
   COleDateTime dtMinimum;
   COleDateTime dtMaximum;

   // Get the range.
   DWORD dwResult = pCtrl->GetRange(&dtMinimum, &dtMaximum);

   // If a minimum was specified, format it.
   // Otherwise, indicate that there is no lower bound.
   if (dwResult & GDTR_MIN)
      strMessage += dtMinimum.Format(_T("Minimum range is %x %X.\r\n"));
   else
      strMessage += _T("No minimum range.\r\n");

   // Treat maximum similarly.
   if (dwResult & GDTR_MAX)
      strMessage += dtMaximum.Format(_T("Maximum range is %x %X.\r\n"));
   else
      strMessage += _T("No maximum range.\r\n");

   // Show the user.
   AfxMessageBox(strMessage);
}

CDateTimeCtrl::GetTime

Récupère l’heure actuellement sélectionnée à partir d’un contrôle de sélecteur de date et d’heure et la place dans une structure spécifiée SYSTEMTIME .

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

Paramètres

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

pTimeDest
Pointeur vers la SYSTEMTIME structure pour recevoir les informations de temps système. Ne doit pas être NULL.

Valeur de retour

Dans la première version, non nulle si l’heure est correctement écrite dans l’objet COleDateTime ; sinon, 0. Dans les deuxième et troisième versions, une DWORD valeur égale au dwFlag membre défini dans la NMDATETIMECHANGE structure. Pour plus d’informations, consultez la section Remarques ci-dessous.

Notes

Cette fonction membre implémente le comportement du message DTM_GETSYSTEMTIMEWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows. Dans l’implémentation MFC de GetTime, vous pouvez utiliser COleDateTime ou CTime classes, ou utiliser une SYSTEMTIME structure, pour stocker les informations de temps.

La valeur DWORD de retour dans les deuxième et troisième versions, ci-dessus, indique si le contrôle du sélecteur de date et d’heure est défini sur l’état « aucune date », comme indiqué dans le membre dwFlagsde la NMDATETIMECHANGE structure. Si la valeur retournée est égale GDT_NONE, le contrôle est défini sur « aucune date » et utilise le DTS_SHOWNONE style. Si la valeur retournée est égale GDT_VALID, l’heure système est correctement stockée à 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.
}

CDateTimeCtrl::GetIdealSize

Retourne la taille idéale du contrôle sélecteur de date et d’heure requis pour afficher la date ou l’heure actuelles.

BOOL GetIdealSize(LPSIZE psize) const;

Paramètres

psize
[out] Pointeur vers une SIZE structure qui contient la taille idéale pour le contrôle.

Valeur de retour

La valeur de retour est toujours TRUE.

Notes

Cette méthode envoie le DTM_GETIDEALSIZE message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit la variable, m_dateTimeCtrlutilisée pour accéder par programmation au contrôle du sélecteur de date et d’heure. Cette variable est utilisée dans l'exemple suivant.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

L’exemple de code suivant récupère la taille idéale pour afficher le contrôle du sélecteur de date et d’heure.

// Add extra initialization here

// Associate a menu with the splitbutton control.
m_splitbutton.SetDropDownMenu(IDR_MENU1, 0);

// Resize the date-time picker control.
SIZE sz;
m_dateTimeCtrl.GetIdealSize(&sz);
if ((sz.cx != 0) && (sz.cy != 0))
{
   m_dateTimeCtrl.SetWindowPos(
       this,
       0, 0, sz.cx, sz.cy,
       (SWP_NOMOVE | SWP_NOZORDER | SWP_NOREPOSITION | SWP_NOACTIVATE));
}

// End of extra initialization

CDateTimeCtrl::SetFormat

Définit l’affichage d’un contrôle sélecteur de date et d’heure conformément à une chaîne de format donnée.

BOOL SetFormat(LPCTSTR pstrFormat);

Paramètres

pstrFormat
Pointeur vers une chaîne de format sans fin qui définit l’affichage souhaité. La définition de ce paramètre pour NULL réinitialiser le contrôle à la chaîne de format par défaut pour le style actuel.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Remarque

L’entrée utilisateur ne détermine pas la réussite ou l’échec de cet appel.

Notes

Cette fonction membre implémente le comportement du message DTM_SETFORMATWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

// The control will create itself with a format that matches the
// locale setting in Control Panel. But we can force a particular
// format with a call to SetFormat(). This call forces the format
// dd-MMM-yy, which would show 03-APR-98 for April 3rd, 1998.
m_DateTimeCtrl.SetFormat(_T("dd-MMM-yy"));

CDateTimeCtrl::SetMonthCalColor

Définit la couleur d’une partie donnée du calendrier mensuel dans un contrôle de sélecteur de date et d’heure.

COLORREF SetMonthCalColor(
    int iColor,
    COLORREF ref);

Paramètres

iColor
int valeur spécifiant la zone du contrôle calendrier mensuel à définir. Cette valeur peut être l’une des suivantes.

Value Signification
MCSC_BACKGROUND Définissez la couleur d’arrière-plan affichée entre les mois.
MCSC_MONTHBK Définissez la couleur d’arrière-plan affichée dans un mois.
MCSC_TEXT Définissez la couleur utilisée pour afficher le texte dans un mois.
MCSC_TITLEBK Définissez la couleur d’arrière-plan affichée dans le titre du calendrier.
MCSC_TITLETEXT Définissez la couleur utilisée pour afficher le texte dans le titre du calendrier.
MCSC_TRAILINGTEXT Définissez la couleur utilisée pour afficher l’en-tête et le texte de fin du jour. Les jours d’en-tête et de fin sont les jours précédents et suivants qui apparaissent dans le calendrier actuel.

ref
Valeur COLORREF représentant la couleur qui sera définie pour la zone spécifiée du calendrier du mois.

Valeur de retour

Valeur COLORREF qui représente le paramètre de couleur précédent pour la partie spécifiée du contrôle calendrier mois en cas de réussite. Sinon, le message retourne -1.

Notes

Cette fonction membre implémente le comportement du message DTM_SETMCCOLORWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Consultez l’exemple de CDateTimeCtrl ::GetMonthCalColor.

CDateTimeCtrl::SetMonthCalFont

Définit la police que le contrôle calendrier du sélecteur de date et d’heure utilise le contrôle calendrier du mois enfant.

void SetMonthCalFont(
    HFONT hFont,
    BOOL bRedraw = TRUE);

Paramètres

hFont
Handle vers la police qui sera définie.

bRedraw
Spécifie si le contrôle doit être redessiné immédiatement lors de la définition de la police. La définition de ce paramètre entraîne TRUE le redessinage du contrôle lui-même.

Notes

Cette fonction membre implémente le comportement du message DTM_SETMCFONTWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

// The following code example would most likely appear
// in the OnInitDialog function of your dialog class.
// It creates a font (Arial, 10 pixels high) and if successful,
// stores the result in m_MonthFont, a member of your
// dialog class declared as follows:
//    CFont m_MonthFont;
// SetMonthCalFont is then called passing in the new font,
// causing the month calendar control to display all
// text and dates with an Arial font.

//initializing the necessary members of the LOGFONT
// structure

LOGFONT lf;
memset(&lf, 0, sizeof(lf));
lf.lfHeight = 10;
_tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));

if (m_MonthFont.CreateFontIndirect(&lf))
{
   // if successful, set the month calendar font
   m_DateTimeCtrl.SetMonthCalFont((HFONT)m_MonthFont);
}

Remarque

Si vous utilisez ce code, vous souhaiterez rendre membre de votre CDialogclasse dérivée appelée m_MonthFont de type CFont.

CDateTimeCtrl::SetMonthCalStyle

Définit le style du contrôle calendrier de mois déroulant associé au contrôle du sélecteur de date et d’heure actuel.

DWORD SetMonthCalStyle(DWORD dwStyle);

Paramètres

dwStyle
[in] Un nouveau style de contrôle calendrier mois, qui est une combinaison au niveau du bit (OR) des styles de contrôle calendrier mois. Pour plus d’informations, consultez Styles de contrôle calendrier mois.

Valeur de retour

Style précédent du contrôle calendrier du mois déroulant.

Notes

Cette méthode envoie le DTM_SETMCSTYLE message, qui est décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

Le premier exemple de code définit la variable, m_dateTimeCtrlutilisée pour accéder par programmation au contrôle du sélecteur de date et d’heure. Cette variable est utilisée dans l'exemple suivant.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

L’exemple de code suivant définit le contrôle sélecteur de date et d’heure pour afficher les numéros de semaine, les noms abrégés des jours de la semaine et aucun indicateur d’aujourd’hui.

// Set the style of the month-calendar control dropdown.
void CCDateTimeCtrl_s1Dlg::OnSetmonthcalstyleWeeknumber()
{
   m_dateTimeCtrl.SetMonthCalStyle(MCS_WEEKNUMBERS);
}

void CCDateTimeCtrl_s1Dlg::OnSetmonthcalstyleNotoday()
{
   m_dateTimeCtrl.SetMonthCalStyle(MCS_NOTODAY);
}

void CCDateTimeCtrl_s1Dlg::OnSetmonthcalstyleShortdaysofweek()
{
   m_dateTimeCtrl.SetMonthCalStyle(MCS_SHORTDAYSOFWEEK);
}

CDateTimeCtrl::SetRange

Définit les heures système minimales et maximales autorisées pour un contrôle de sélecteur de date et d’heure.

BOOL SetRange(
    const COleDateTime* pMinRange,
    const COleDateTime* pMaxRange);

BOOL SetRange(
    const CTime* pMinRange,
    const CTime* pMaxRange);

Paramètres

pMinRange
Pointeur vers un COleDateTime objet ou un CTime objet contenant la durée la plus ancienne autorisée dans l’objet CDateTimeCtrl .

pMaxRange
Pointeur vers un COleDateTime objet ou un CTime objet contenant la dernière heure autorisée dans l’objet CDateTimeCtrl .

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Cette fonction membre implémente le comportement du message DTM_SETRANGEWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows. Dans l’implémentation de MFC, vous pouvez spécifier l’une ou CTime l’autre COleDateTime utilisation. Si l’objet COleDateTime a un NULL état, la plage est supprimée. Si le CTime pointeur ou le COleDateTime pointeur est NULL, la plage est supprimée.

Exemple

Consultez l’exemple pour CDateTimeCtrl::GetRange.

CDateTimeCtrl::SetTime

Définit l’heure dans un contrôle sélecteur de date et d’heure.

BOOL SetTime(const COleDateTime& timeNew);
BOOL SetTime(const CTime* pTimeNew);
BOOL SetTime(LPSYSTEMTIME pTimeNew = NULL);

Paramètres

timeNew
Référence à un COleDateTime objet contenant l’objet sur lequel le contrôle sera défini.

pTimeNew
Dans la deuxième version ci-dessus, pointeur vers un CTime objet contenant l’heure à laquelle le contrôle sera défini. Dans la troisième version ci-dessus, pointeur vers une SYSTEMTIME structure contenant l’heure à laquelle le contrôle sera défini.

Valeur de retour

Valeur différente de zéro cas de réussite ; sinon, 0.

Notes

Cette fonction membre implémente le comportement du message DTM_SETSYSTEMTIMEWin32, comme décrit dans le Kit de développement logiciel (SDK) Windows. Dans l’implémentation MFC de SetTime, vous pouvez utiliser les classes ou CTime les COleDateTime classes, ou vous pouvez utiliser une SYSTEMTIME structure, pour définir les informations de temps.

Exemple

// set with a CTime
CTime timeTime(1998, 4, 3, 0, 0, 0);
VERIFY(m_DateTimeCtrl.SetTime(&timeTime));

// set with a COleDateTime object
COleDateTime oletimeTime(1998, 4, 3, 0, 0, 0);
VERIFY(m_DateTimeCtrl.SetTime(oletimeTime));

// set using the SYSTEMTIME
SYSTEMTIME sysTime;
memset(&sysTime, 0, sizeof(sysTime));
sysTime.wYear = 1998;
sysTime.wMonth = 4;
sysTime.wDay = 3;
VERIFY(m_DateTimeCtrl.SetTime(&sysTime));

Voir aussi

Exemple MFC CMNCTRL1
CWnd Classe
Graphique hiérarchique
CMonthCalCtrl Classe