Partager via


CMonthCalCtrl::GetRange

Récupère le minimum actuel et les dates maximales fixés dans un contrôle month calendar.

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

Paramètres

  • pMinRange
    Un pointeur vers un objet d' COleDateTime , un objet d' CTime , ou à la structure de SYSTEMTIME contenant la date au niveau le plus bas de gamme de la plage.

  • pMaxRange
    Un pointeur vers un objet d' COleDateTime , un objet d' CTime , ou à la structure de SYSTEMTIME contenant la date au plus élevé à la fin de la plage.

Valeur de retour

DWORD qui peut être zéro (aucune limite n'est définie) ou une combinaison des valeurs suivantes qui spécifient les informations de limite.

Valeur

Signification

GDTR_MAX

Une limite maximale est définie pour le contrôle ; pMaxRange est valide et contient les informations applicables de date.

GDTR_MIN

Une limite minimale est définie pour le contrôle ; pMinRange est valide et contient les informations applicables de date.

Notes

Cette fonction membre implémente le comportement du message MCM_GETRANGEWin32, comme décrit dans Kit de développement logiciel Windows.Dans l'implémentation MFC de GetRange, vous pouvez spécifier l'utilisation d' COleDateTime , l'utilisation d' CTime , ou une utilisation de structure d' SYSTEMTIME .

Exemple

// This code fragment sets a variety of ranges in the
// control, and calls a separate function to show the
// set range to the user.

void CMonthCalDlg::OnBnClickedRangebutton()
{
   // 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_calCtrl1.SetRange(&dtMin, &dtMax);
   ShowRange(&m_calCtrl1);

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

   // 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_calCtrl1.SetRange(&dtMin, &dtMax);
   ShowRange(&m_calCtrl1);
}

void CMonthCalDlg::ShowRange(CMonthCalCtrl* pMoCalCtrl)
{
   ASSERT(pMoCalCtrl != NULL);
   CString strMessage;
   COleDateTime dtMinimum;
   COleDateTime dtMaximum;

   // Get the range
   DWORD dwResult = pMoCalCtrl->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);
}

Configuration requise

Header: afxdtctl.h

Voir aussi

Référence

Classe de CMonthCalCtrl

Graphique de la hiérarchie

CMonthCalCtrl::SetRange