Share via


CMonthCalCtrl, classe

Encapsule les fonctionnalités d'un contrôle Month Calendar.

Syntaxe

class CMonthCalCtrl : public CWnd

Membres

Constructeurs publics

Nom Description
CMonthCalCtrl ::CMonthCalCtrl Construit un objet CMonthCalCtrl.

Méthodes publiques

Nom Description
CMonthCalCtrl ::Create Crée un contrôle de calendrier mensuel et l’attache à l’objet CMonthCalCtrl .
CMonthCalCtrl ::GetCalendarBorder Récupère la largeur de la bordure du contrôle calendrier du mois en cours.
CMonthCalCtrl ::GetCalendarCount Récupère le nombre de calendriers affichés dans le contrôle calendrier du mois en cours.
CMonthCalCtrl ::GetCalendarGridInfo Récupère des informations sur le contrôle calendrier du mois en cours.
CMonthCalCtrl ::GetCalID Récupère l’identificateur de calendrier pour le contrôle calendrier du mois en cours.
CMonthCalCtrl ::GetColor Obtient la couleur d’une zone spécifiée d’un contrôle calendrier mensuel.
CMonthCalCtrl ::GetCurrentView Récupère l’affichage actuellement affiché par le contrôle calendrier du mois en cours.
CMonthCalCtrl ::GetCurSel Récupère l’heure système, comme indiqué par la date actuellement sélectionnée.
CMonthCalCtrl ::GetFirstDayOfWeek Obtient le premier jour de la semaine à afficher dans la colonne la plus à gauche du calendrier.
CMonthCalCtrl ::GetMaxSelCount Récupère le nombre maximal actuel de jours pouvant être sélectionnés dans un contrôle calendrier mensuel.
CMonthCalCtrl ::GetMaxTodayWidth Récupère la largeur maximale de la chaîne « Aujourd’hui » pour le contrôle calendrier du mois en cours.
CMonthCalCtrl ::GetMinReqRect Récupère la taille minimale requise pour afficher un mois complet dans un contrôle calendrier mois.
CMonthCalCtrl ::GetMonthDelta Récupère le taux de défilement d’un contrôle de calendrier mensuel.
CMonthCalCtrl ::GetMonthRange Récupère les informations de date représentant les limites élevées et basses de l’affichage du contrôle calendrier d’un mois.
CMonthCalCtrl ::GetRange Récupère les dates minimales et maximales actuelles définies dans un contrôle calendrier mensuel.
CMonthCalCtrl ::GetSelRange Récupère les informations de date représentant les limites supérieures et inférieures de la plage de dates actuellement sélectionnée par l’utilisateur.
CMonthCalCtrl ::GetToday Récupère les informations de date de la date spécifiée comme « aujourd’hui » pour un contrôle calendrier mensuel.
CMonthCalCtrl ::HitTest Détermine la section d’un contrôle calendrier mensuel à un point donné à l’écran.
CMonthCalCtrl ::IsCenturyView Indique si l’affichage actuel du contrôle calendrier du mois actuel est l’affichage siècle.
CMonthCalCtrl ::IsDecadeView Indique si l’affichage actuel du contrôle calendrier du mois actuel est l’affichage de la décennie.
CMonthCalCtrl ::IsMonthView Indique si l’affichage actuel du contrôle calendrier du mois actuel est l’affichage mois.
CMonthCalCtrl ::IsYearView Indique si l’affichage actuel du contrôle calendrier du mois actuel est l’affichage année.
CMonthCalCtrl ::SetCalendarBorder Définit la largeur de la bordure du contrôle calendrier du mois en cours.
CMonthCalCtrl ::SetCalendarBorderDefault Définit la largeur par défaut de la bordure du contrôle calendrier du mois en cours.
CMonthCalCtrl ::SetCalID Définit l’identificateur de calendrier pour le contrôle calendrier du mois en cours.
CMonthCalCtrl ::SetCenturyView Définit le contrôle calendrier du mois actuel pour afficher l’affichage siècle.
CMonthCalCtrl ::SetColor Définit la couleur d’une zone spécifiée d’un contrôle calendrier de mois.
CMonthCalCtrl ::SetCurrentView Définit le contrôle calendrier du mois actuel pour afficher l’affichage spécifié.
CMonthCalCtrl ::SetCurSel Définit la date actuellement sélectionnée pour un contrôle calendrier de mois.
CMonthCalCtrl ::SetDayState Définit l’affichage des jours dans un contrôle calendrier mois.
CMonthCalCtrl ::SetDecadeView Définit le contrôle calendrier du mois actuel sur l’affichage de la décennie.
CMonthCalCtrl ::SetFirstDayOfWeek Définit le jour de la semaine à afficher dans la colonne la plus à gauche du calendrier.
CMonthCalCtrl ::SetMaxSelCount Définit le nombre maximal de jours pouvant être sélectionnés dans un contrôle calendrier de mois.
CMonthCalCtrl ::SetMonthDelta Définit le taux de défilement d’un contrôle de calendrier mensuel.
CMonthCalCtrl ::SetMonthView Définit le contrôle calendrier du mois actuel pour afficher l’affichage mois.
CMonthCalCtrl ::SetRange Définit les dates minimales et maximales autorisées pour un contrôle calendrier mensuel.
CMonthCalCtrl ::SetSelRange Définit la sélection d’un contrôle calendrier mensuel sur une plage de dates donnée.
CMonthCalCtrl ::SetToday Définit le contrôle calendrier pour le jour actuel.
CMonthCalCtrl ::SetYearView Définit le contrôle calendrier du mois actuel sur l’affichage année.
CMonthCalCtrl ::SizeMinReq Repaint le contrôle de calendrier mois à sa taille minimale d’un mois.
CMonthCalCtrl ::SizeRectToMin Pour le contrôle calendrier de mois en cours, calcule le plus petit rectangle pouvant contenir tous les calendriers qui s’intègrent dans un rectangle spécifié.

Notes

Le contrôle calendrier mensuel fournit à l’utilisateur une interface de calendrier simple, à partir de laquelle l’utilisateur peut sélectionner une date. L’utilisateur peut modifier l’affichage en :

  • Défilement vers l’arrière et vers l’avant, du mois au mois.

  • Cliquez sur le texte d’aujourd’hui pour afficher le jour actuel (si le style MCS_NOTODAY n’est pas utilisé).

  • Sélection d’un mois ou d’une année dans un menu contextuel.

Vous pouvez personnaliser le contrôle de calendrier mensuel en appliquant différents styles à l’objet lorsque vous le créez. Ces styles sont décrits dans les styles de contrôle de calendrier mois dans le Kit de développement logiciel (SDK) Windows.

Le contrôle calendrier du mois peut afficher plusieurs mois, et il peut indiquer des jours spéciaux (tels que les jours fériés) en mettant en gras la date.

Pour plus d’informations sur l’utilisation du contrôle calendrier mois, consultez Utilisation de CMonthCalCtrl.

Hiérarchie d'héritage

CObject

CCmdTarget

CWnd

CMonthCalCtrl

Spécifications

En-tête : afxdtctl.h

CMonthCalCtrl ::CMonthCalCtrl

Construit un objet CMonthCalCtrl.

CMonthCalCtrl();

Notes

Vous devez appeler Create après avoir construit l’objet.

CMonthCalCtrl ::Create

Crée un contrôle de calendrier mensuel et l’attache à l’objet CMonthCalCtrl .

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

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

Paramètres

dwStyle
Spécifie la combinaison de styles Windows appliqués au contrôle calendrier mensuel. Pour plus d’informations sur les styles de styles de contrôle calendrier mois, consultez le Kit de développement logiciel (SDK) Windows.

Rect
Référence à une structure RECT . Contient la position et la taille du contrôle calendrier du mois.

pt
Référence à une structure POINT qui identifie l’emplacement du contrôle calendrier du mois.

pParentWnd
Pointeur vers un objet CWnd qui est la fenêtre parente du contrôle calendrier mois. Elle ne doit pas être NULL.

nID
Spécifie l’ID de contrôle du contrôle calendrier du mois.

Valeur de retour

Différent de zéro si l’initialisation a réussi ; sinon 0.

Notes

Créez un contrôle de calendrier de mois en deux étapes :

  1. Appelez CMonthCalCtrl pour construire un CMonthCalCtrl objet.

  2. Appelez cette fonction membre, qui crée un contrôle de calendrier mensuel et l’attache à l’objet CMonthCalCtrl .

Lorsque vous appelez Create, les contrôles courants sont initialisés. La version de Create votre appel détermine comment elle est dimensionnée :

  • Pour que MFC dimensionne automatiquement le contrôle sur un mois, appelez le remplacement qui utilise le paramètre pt .

  • Pour dimensionner le contrôle vous-même, appelez le remplacement de cette fonction qui utilise le paramètre rect .

Exemple

// Given two member objects m_calCtrl1 and m_calCtrl2, we can
// create them in one of two ways.

// Providing a point has the control with its top-left corner
// at that point and sized automatically to show one month
// page.

CPoint pt(10, 10);
VERIFY(m_calCtrl1.Create(WS_TABSTOP | WS_CHILD | WS_VISIBLE |
                             WS_BORDER | MCS_DAYSTATE,
                         pt, this, IDC_MONTHCALCTRL1));

// Providing a rectangle lets us completely control the size.
// The control will paint as many complete month pages in the
// control's area as possible.

CRect rect(300, 100, 470, 200);
VERIFY(m_calCtrl2.Create(WS_TABSTOP | WS_CHILD | WS_VISIBLE |
                             WS_BORDER | MCS_MULTISELECT,
                         rect, this, IDC_MONTHCALCTRL2));

CMonthCalCtrl ::GetCalendarBorder

Récupère la largeur de la bordure du contrôle calendrier du mois en cours.

int GetCalendarBorder() const;

Valeur de retour

Largeur de la bordure de contrôle, en pixels.

Notes

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

CMonthCalCtrl ::GetCalendarCount

Récupère le nombre de calendriers affichés dans le contrôle calendrier du mois en cours.

int GetCalendarCount() const;

Valeur de retour

Nombre de calendriers actuellement affichés dans le contrôle calendrier du mois. Le nombre maximal autorisé de calendriers est de 12.

Notes

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

CMonthCalCtrl ::GetCalendarGridInfo

Récupère des informations sur le contrôle calendrier du mois en cours.

BOOL GetCalendarGridInfo(PMCGRIDINFO pmcGridInfo) const;

Paramètres

pmcGridInfo
[out] Pointeur vers une structure MCGRIDINFO qui reçoit des informations sur le contrôle calendrier du mois en cours. L’appelant est responsable de l’allocation et de l’initialisation de cette structure.

Valeur de retour

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

Notes

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

Exemple

Le premier exemple de code définit la variable, m_monthCalCtrlutilisée pour accéder par programmation au contrôle calendrier mensuel. Cette variable est utilisée dans l'exemple suivant.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

L’exemple de code suivant utilise la GetCalendarGridInfo méthode pour récupérer la date de calendrier affichée par le contrôle calendrier du mois en cours.

WCHAR name[26];
name[0] = _T('\0');
MCGRIDINFO gridInfo;
gridInfo.cbSize = sizeof(MCGRIDINFO);
gridInfo.dwPart = MCGIP_CALENDARHEADER;
gridInfo.dwFlags = MCGIF_NAME;
gridInfo.iCalendar = 0;
gridInfo.pszName = reinterpret_cast<PWSTR>(&name);
gridInfo.cchName = sizeof(name);

m_monthCalCtrl.GetCalendarGridInfo(&gridInfo);

CString str;
CString calendarDate(name);
str.Format(_T("Calendar date: '%s'"), calendarDate);
AfxMessageBox(str, MB_ICONINFORMATION);

CMonthCalCtrl ::GetCalID

Récupère l’identificateur de calendrier pour le contrôle calendrier du mois en cours.

CALID GetCalID() const;

Valeur de retour

Une des constantes d’identificateur de calendrier.

Notes

Un identificateur de calendrier désigne un calendrier spécifique à une région, tel que les calendriers grégoriens (localisés), japonais ou Hijri. Votre application peut utiliser un identificateur de calendrier qui a différentes fonctions de prise en charge du langage.

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

CMonthCalCtrl ::GetColor

Récupère la couleur d’une zone du contrôle calendrier mensuel spécifié par nRegion.

COLORREF GetColor(int nRegion) const;

Paramètres

nRegion
Région du contrôle calendrier mois à partir de laquelle la couleur est récupérée. Pour obtenir la liste des valeurs, consultez le paramètre nRegion de SetColor.

Valeur de retour

Valeur COLORREF spécifiant la couleur associée à la partie du contrôle calendrier mois, si elle réussit. Sinon, cette fonction membre retourne -1.

CMonthCalCtrl ::GetCurrentView

Récupère l’affichage actuellement affiché par le contrôle calendrier du mois en cours.

DWORD GetCurrentView() const;

Valeur de retour

Vue actuelle, qui est indiquée par l’une des valeurs suivantes :

Value Signification
MCMV_MONTH Affichage mensuel
MCMV_YEAR Vue annuelle
MCMV_DECADE Vue de la décennie
MCMV_CENTURY Vue siècle

Notes

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

Exemple

Le premier exemple de code définit la variable, m_monthCalCtrlutilisée pour accéder par programmation au contrôle calendrier mensuel. Cette variable est utilisée dans l'exemple suivant.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

L’exemple de code suivant indique qui affiche actuellement le contrôle calendrier du mois.

CString str;
CString msg = _T("The current calendar displays %s view.");
DWORD view = m_monthCalCtrl.GetCurrentView();
switch (view)
{
case MCMV_MONTH:
   str.Format(msg, _T("month"));
   break;
case MCMV_YEAR:
   str.Format(msg, _T("year"));
   break;
case MCMV_DECADE:
   str.Format(msg, _T("decade"));
   break;
case MCMV_CENTURY:
   str.Format(msg, _T("century"));
   break;
default:
   str.Format(msg, _T("an unknown"));
   break;
}
AfxMessageBox(str, MB_ICONINFORMATION);

CMonthCalCtrl ::GetCurSel

Récupère l’heure système, comme indiqué par la date actuellement sélectionnée.

BOOL GetCurSel(COleDateTime& refDateTime) const;  BOOL GetCurSel(CTime& refDateTime) const;

BOOL GetCurSel(LPSYSTEMTIME pDateTime) const;

Paramètres

refDateTime
Référence à un objet COleDateTime ou à un objet CTime . Reçoit l’heure actuelle.

pDateTime
Pointeur vers une structure SYSTEMTIME qui recevra les informations de date actuellement sélectionnées. Ce paramètre doit être une adresse valide et ne peut pas être NULL.

Valeur de retour

Différent de zéro s’il réussit ; otherwize 0.

Notes

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

Remarque

Cette fonction membre échoue si le style MCS_MULTISELECT est défini.

Dans l’implémentation de MFC, GetCurSelvous pouvez spécifier une COleDateTime utilisation, une CTime utilisation ou une utilisation de SYSTEMTIME structure.

CMonthCalCtrl ::GetFirstDayOfWeek

Obtient le premier jour de la semaine à afficher dans la colonne la plus à gauche du calendrier.

int GetFirstDayOfWeek(BOOL* pbLocal = NULL) const;

Paramètres

pbLocal
Pointeur vers une valeur BOOL. Si la valeur n’est pas zéro, le paramètre du contrôle ne correspond pas au paramètre dans le panneau de configuration.

Valeur de retour

Valeur entière qui représente le premier jour de la semaine. Pour plus d’informations sur ce que représentent ces entiers, consultez les remarques .

Notes

Cette fonction membre implémente le comportement du message Win32 MCM_GETFIRSTDAYOFWEEK, comme décrit dans le Kit de développement logiciel (SDK) Windows. Les jours de la semaine sont représentés sous forme d’entiers, comme suit.

Value Jour de la semaine
0 Lundi
1 Mardi
2 Mercredi
3 Jeudi
4 Vendredi
5 Samedi
6 Dimanche

Exemple

Consultez l’exemple de CMonthCalCtrl ::SetFirstDayOfWeek.

CMonthCalCtrl ::GetMaxSelCount

Récupère le nombre maximal actuel de jours pouvant être sélectionnés dans un contrôle calendrier mensuel.

int GetMaxSelCount() const;

Valeur de retour

Valeur entière qui représente le nombre total de jours pouvant être sélectionnés pour le contrôle.

Notes

Cette fonction membre implémente le comportement du message Win32 MCM_GETMAXSELCOUNT, comme décrit dans le Kit de développement logiciel (SDK) Windows. Utilisez cette fonction membre pour les contrôles avec le jeu de styles MCS_MULTISELECT.

Exemple

Consultez l’exemple de CMonthCalCtrl ::SetMaxSelCount.

CMonthCalCtrl ::GetMaxTodayWidth

Récupère la largeur maximale de la chaîne « Aujourd’hui » pour le contrôle calendrier du mois en cours.

DWORD GetMaxTodayWidth() const;

Valeur de retour

Largeur de la chaîne « Today », en pixels.

Exemple

Le premier exemple de code définit la variable, m_monthCalCtrlutilisée pour accéder par programmation au contrôle calendrier mensuel. Cette variable est utilisée dans l'exemple suivant.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

L’exemple de code suivant illustre la GetMaxTodayWidth méthode.

DWORD width = m_monthCalCtrl.GetMaxTodayWidth();
CString str;
str.Format(_T("The maximum today width is %d."), width);
AfxMessageBox(str, MB_ICONINFORMATION);

Notes

L’utilisateur peut revenir à la date actuelle en cliquant sur la chaîne « Aujourd’hui », qui s’affiche en bas du contrôle calendrier du mois. La chaîne « Today » inclut le texte d’étiquette et le texte de date.

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

CMonthCalCtrl ::GetMinReqRect

Récupère la taille minimale requise pour afficher un mois complet dans un contrôle calendrier mois.

BOOL GetMinReqRect(RECT* pRect) const;

Paramètres

pRect
Pointeur vers une structure RECT qui recevra des informations de rectangle englobant. Ce paramètre doit être une adresse valide et ne peut pas être NULL.

Valeur de retour

Si elle réussit, cette fonction membre retourne une valeur différente de zéro et lpRect reçoit les informations englobantes applicables. En cas d’échec, la fonction membre retourne 0.

Notes

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

CMonthCalCtrl ::GetMonthDelta

Récupère le taux de défilement d’un contrôle de calendrier mensuel.

int GetMonthDelta() const;

Valeur de retour

Taux de défilement pour le contrôle calendrier mensuel. Le taux de défilement est le nombre de mois pendant lequel le contrôle déplace son affichage lorsque l’utilisateur clique une fois sur un bouton de défilement.

Notes

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

CMonthCalCtrl ::GetMonthRange

Récupère les informations de date représentant les limites élevées et basses de l’affichage du contrôle calendrier d’un mois.

int GetMonthRange(
    COleDateTime& refMinRange,
    COleDateTime& refMaxRange,
    DWORD dwFlags) const;

int GetMonthRange(
    CTime& refMinRange,
    CTime& refMaxRange,
    DWORD dwFlags) const;

int GetMonthRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange,
    DWORD dwFlags) const;

Paramètres

refMinRange
Référence à un objet COleDateTime ou CTime contenant la date minimale autorisée.

refMaxRange
Référence à un COleDateTime ou CTime objet contenant la date maximale autorisée.

pMinRange
Pointeur vers une structure SYSTEMTIME contenant la date à la fin la plus basse de la plage.

pMaxRange
Pointeur vers une SYSTEMTIME structure contenant la date à la fin la plus élevée de la plage.

dwFlags
Valeur spécifiant l’étendue des limites de plage à récupérer. Cette valeur doit être l’une des valeurs suivantes.

Value Signification
GMR_DAYSTATE Incluez les mois précédents et de fin d’une plage visible qui ne sont que partiellement affichés.
GMR_VISIBLE Incluez uniquement les mois entièrement affichés.

Valeur de retour

Entier qui représente la plage, en mois, s’étend sur les deux limites indiquées par refMinRange et refMaxRange dans les premières et deuxième versions, ou pMinRange et pMaxRange dans la troisième version.

Notes

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

Exemple

Consultez l’exemple de CMonthCalCtrl ::SetDayState.

CMonthCalCtrl ::GetRange

Récupère les dates minimales et maximales actuelles définies dans un contrôle calendrier mensuel.

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

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

DWORD GetRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Paramètres

pMinRange
Pointeur vers un COleDateTime objet, un objet ou une CTime structure SYSTEMTIME contenant la date à la fin la plus basse de la plage.

pMaxRange
Pointeur vers un COleDateTime objet, un objet ou une CTime structure SYSTEMTIME contenant la date à la fin la plus élevée de la plage.

Valeur de retour

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

Value Signification
GDTR_MAX Une limite maximale est définie pour le contrôle ; pMaxRange est valide et contient les informations de date applicables.
GDTR_MIN Une limite minimale est définie pour le contrôle ; pMinRange est valide et contient les informations de date applicables.

Notes

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

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);
}

CMonthCalCtrl ::GetSelRange

Récupère les informations de date représentant les limites supérieures et inférieures de la plage de dates actuellement sélectionnée par l’utilisateur.

BOOL GetSelRange(
    COleDateTime& refMinRange,
    COleDateTime& refMaxRange) const;

BOOL GetSelRange(
    CTime& refMinRange,
    CTime& refMaxRange) const;

BOOL GetSelRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Paramètres

refMinRange
Référence à un objet COleDateTime ou CTime contenant la date minimale autorisée.

refMaxRange
Référence à un COleDateTime ou CTime objet contenant la date maximale autorisée.

pMinRange
Pointeur vers une structure SYSTEMTIME contenant la date à la fin la plus basse de la plage.

pMaxRange
Pointeur vers une SYSTEMTIME structure contenant la date à la fin la plus élevée de la plage.

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 Win32 MCM_GETSELRANGE, comme décrit dans le Kit de développement logiciel (SDK) Windows. GetSelRange échoue s’il est appliqué à un contrôle de calendrier mensuel qui n’utilise pas le style MCS_MULTISELECT.

Dans l’implémentation de MFC, GetSelRangevous pouvez spécifier COleDateTime l’utilisation, une CTime utilisation ou une utilisation de SYSTEMTIME structure.

CMonthCalCtrl ::GetToday

Récupère les informations de date de la date spécifiée comme « aujourd’hui » pour un contrôle calendrier mensuel.

BOOL GetToday(COleDateTime& refDateTime) const;  BOOL GetToday(COleDateTime& refDateTime) const;

BOOL GetToday(LPSYSTEMTIME pDateTime) const;

Paramètres

refDateTime
Référence à un objet COleDateTime ou CTime indiquant le jour actuel.

pDateTime
Pointeur vers une structure SYSTEMTIME qui recevra les informations de date. Ce paramètre doit être une adresse valide et ne peut pas être NULL.

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 Win32 MCM_GETTODAY, comme décrit dans le Kit de développement logiciel (SDK) Windows. Dans l’implémentation de MFC, GetTodayvous pouvez spécifier une COleDateTime utilisation, une CTime utilisation ou une utilisation de SYSTEMTIME structure.

Exemple

void CMonthCalDlg::OnBnClickedGettodaybutton()
{
   COleDateTime timeToday;
   if (m_calCtrl1.GetToday(timeToday))
   {
      // Format the date information from the value we received
      // and post a message box about it.
      CString str = timeToday.Format(VAR_DATEVALUEONLY);
      AfxMessageBox(str);

      // Set the control's "today" indicator to be five
      // days previous.
      timeToday -= 5;
      m_calCtrl1.SetToday(timeToday);
   }
   else
   {
      // Something is wrong!
      ASSERT(FALSE);
   }
}

CMonthCalCtrl ::HitTest

Détermine le contrôle calendrier mensuel, le cas échéant, à une position spécifiée.

DWORD HitTest(PMCHITTESTINFO pMCHitTest);

Paramètres

pMCHitTest
Pointeur vers une structure MCHITTESTINFO contenant des points de test d’accès pour le contrôle de calendrier mensuel.

Valeur de retour

Valeur DWORD. Égal au membre uHit de la MCHITTESTINFO structure.

Notes

HitTest utilise la MCHITTESTINFO structure, qui contient des informations sur le test de positionnement.

CMonthCalCtrl ::IsCenturyView

Indique si l’affichage actuel du contrôle calendrier du mois actuel est l’affichage siècle.

BOOL IsCenturyView() const;

Valeur de retour

TRUE si la vue actuelle est la vue du siècle ; sinon, FALSE.

Notes

Cette méthode envoie le message MCM_GETCURRENTVIEW , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Si ce message retourne MCMV_CENTURY, cette méthode retourne TRUE.

CMonthCalCtrl ::IsDecadeView

Indique si l’affichage actuel du contrôle calendrier du mois actuel est l’affichage de la décennie.

BOOL IsDecadeView() const;

Valeur de retour

TRUE si l’affichage actuel est la vue de la décennie ; sinon, FALSE.

Notes

Cette méthode envoie le message MCM_GETCURRENTVIEW , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Si ce message retourne MCMV_DECADE, cette méthode retourne TRUE.

CMonthCalCtrl ::IsMonthView

Indique si l’affichage actuel du contrôle calendrier du mois actuel est l’affichage mois.

BOOL IsMonthView() const;

Valeur de retour

TRUE si l’affichage actuel est l’affichage mois ; sinon, FALSE.

Notes

Cette méthode envoie le message MCM_GETCURRENTVIEW , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Si ce message retourne MCMV_MONTH, cette méthode retourne TRUE.

CMonthCalCtrl ::IsYearView

Indique si l’affichage actuel du contrôle calendrier du mois actuel est l’affichage année.

BOOL IsYearView() const;

Valeur de retour

TRUE si l’affichage actuel est l’affichage de l’année ; sinon, FALSE.

Notes

Cette méthode envoie le message MCM_GETCURRENTVIEW , qui est décrit dans le Kit de développement logiciel (SDK) Windows. Si ce message retourne MCMV_YEAR, cette méthode retourne TRUE.

CMonthCalCtrl ::SetCalendarBorder

Définit la largeur de la bordure du contrôle calendrier du mois en cours.

void SetCalendarBorder(int cxyBorder);

Paramètres

cxyBorder
[in] Largeur de la bordure, en pixels.

Notes

Si cette méthode réussit, la largeur de la bordure est définie sur le paramètre cxyBorder . Sinon, la largeur de bordure est réinitialisée à la valeur par défaut spécifiée par le thème actuel, ou zéro si les thèmes ne sont pas utilisés.

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

Exemple

Le premier exemple de code définit la variable, m_monthCalCtrlutilisée pour accéder par programmation au contrôle calendrier mensuel. Cette variable est utilisée dans l'exemple suivant.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

L’exemple de code suivant définit la largeur de bordure du contrôle calendrier mois sur huit pixels. Utilisez la méthode CMonthCalCtrl ::GetCalendarBorder pour déterminer si cette méthode a réussi.

// Use the GetCalendarBorder() method to determine whether
// this method succeeded or failed.
m_monthCalCtrl.SetCalendarBorder(8);

CMonthCalCtrl ::SetCalendarBorderDefault

Définit la largeur par défaut de la bordure du contrôle calendrier du mois en cours.

void SetCalendarBorderDefault();

Notes

La largeur de bordure est définie sur la valeur par défaut spécifiée par le thème actuel, ou zéro si les thèmes ne sont pas utilisés.

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

CMonthCalCtrl ::SetCalID

Définit l’identificateur de calendrier pour le contrôle calendrier du mois en cours.

BOOL SetCalID(CALID calid);

Paramètres

calid
[in] Une des constantes d’identificateur de calendrier.

Valeur de retour

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

Notes

Un identificateur de calendrier spécifie un calendrier spécifique à une région, tel que les calendriers grégoriens (localisés), japonais ou Hijri. Utilisez la SetCalID méthode pour afficher un calendrier spécifié par le paramètre calid si les paramètres régionaux qui contiennent le calendrier sont installés sur votre ordinateur.

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

Exemple

Le premier exemple de code définit la variable, m_monthCalCtrlutilisée pour accéder par programmation au contrôle calendrier mensuel. Cette variable est utilisée dans l'exemple suivant.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

L’exemple de code suivant définit le contrôle de calendrier de mois pour afficher le calendrier de l’ère de l’empereur japonais. La SetCalID méthode réussit uniquement si ce calendrier est installé sur votre ordinateur.

BOOL rc = m_monthCalCtrl.SetCalID(CAL_JAPAN);
CString str = _T("Calendar change ");
;
if (rc == TRUE)
   str += _T("succeeded.");
else
{
   str += _T("failed.\n");
   str += _T("Perhaps this locale is not installed.");
}
AfxMessageBox(str, MB_ICONINFORMATION);

CMonthCalCtrl ::SetCenturyView

Définit le contrôle calendrier du mois actuel pour afficher l’affichage siècle.

BOOL SetCenturyView();

Valeur de retour

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

Notes

Cette méthode utilise la méthode CMonthCalCtrl ::SetCurrentView pour définir la vue MCMV_CENTURYsur , qui représente l’affichage du siècle.

CMonthCalCtrl ::SetColor

Définit la couleur d’une zone spécifiée d’un contrôle calendrier de mois.

COLORREF SetColor(
    int nRegion,
    COLORREF ref);

Paramètres

nRegion
Valeur entière spécifiant la couleur de calendrier du mois à définir. Cette valeur peut être l’une des suivantes.

Value Signification
MCSC_BACKGROUND Couleur d’arrière-plan affichée entre les mois.
MCSC_MONTHBK Couleur d’arrière-plan affichée dans le mois.
MCSC_TEXT Couleur utilisée pour afficher le texte dans un mois.
MCSC_TITLEBK Couleur d’arrière-plan affichée dans le titre du calendrier.
MCSC_TITLETEXT Couleur utilisée pour afficher le texte dans le titre du calendrier.
MCSC_TRAILINGTEXT 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 pour le nouveau paramètre de couleur pour la partie spécifiée du contrôle calendrier 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, si elle réussit. Sinon, ce message retourne -1.

Notes

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

Exemple

// Set colors for title text and title background to match
// the Control Panel settings for inactive window captions.
m_calCtrl1.SetColor(MCSC_TITLETEXT, ::GetSysColor(COLOR_INACTIVECAPTIONTEXT));
m_calCtrl1.SetColor(MCSC_TITLEBK, ::GetSysColor(COLOR_INACTIVECAPTION));

CMonthCalCtrl ::SetCurrentView

Définit le contrôle calendrier du mois actuel pour afficher l’affichage spécifié.

BOOL SetCurrentView(DWORD dwNewView);

Paramètres

dwNewView
[in] L’une des valeurs suivantes qui spécifie une vue mensuelle, annuelle, décennie ou siècle.

  • MCMV_MONTH: Affichage mensuel
  • MCMV_YEAR: Vue annuelle
  • MCMV_DECADE: Vue de la décennie
  • MCMV_CENTURY: Vue du siècle

Valeur de retour

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

Notes

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

CMonthCalCtrl ::SetCurSel

Définit la date actuellement sélectionnée pour un contrôle calendrier de mois.

BOOL SetCurSel(const COleDateTime& refDateTime);
BOOL SetCurSel(const CTime& refDateTime);
BOOL SetCurSel(const LPSYSTEMTIME pDateTime);

Paramètres

refDateTime
Référence à un objet COleDateTime ou CTime indiquant le contrôle calendrier mensuel actuellement sélectionné.

pDateTime
Pointeur vers une structure SYSTEMTIME qui contient la date à définir comme sélection actuelle.

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 Win32 MCM_SETCURSEL, comme décrit dans le Kit de développement logiciel (SDK) Windows. Dans l’implémentation de MFC, SetCurSelvous pouvez spécifier une COleDateTime utilisation, une CTime utilisation ou une utilisation de SYSTEMTIME structure.

Exemple

void CMonthCalDlg::OnBnClickedCurselbutton()
{
   // All of these calls set the current selection to March 15, 1998.

   // with a COleDateTime
   COleDateTime dt1(1998, 3, 15, 0, 0, 0);
   m_calCtrl1.SetCurSel(dt1);

   // with a CTime
   CTime dt2(1998, 3, 15, 0, 0, 0);
   m_calCtrl1.SetCurSel(dt2);

   // with a SYSTEMTIME structure

   SYSTEMTIME sysTime;

   // set everything to zero
   memset(&sysTime, 0, sizeof(sysTime));

   // except for the date we want
   sysTime.wYear = 1998;
   sysTime.wMonth = 3;
   sysTime.wDay = 15;

   m_calCtrl1.SetCurSel(&sysTime);
}

CMonthCalCtrl ::SetDayState

Définit l’affichage des jours dans un contrôle calendrier mois.

BOOL SetDayState(
    int nMonths,
    LPMONTHDAYSTATE pStates);

Paramètres

nMonths
Valeur indiquant le nombre d’éléments dans le tableau vers lequel pStates pointe.

pStates
Pointeur vers un tableau MONTHDAYSTATE de valeurs qui définissent la façon dont le contrôle de calendrier mois dessinera chaque jour dans son affichage. Le type de données MONTHDAYSTATE est un champ de bits, où chaque bit (1 à 31) représente l’état d’un jour dans un mois. Si un bit est activé, le jour correspondant s'affiche en gras ; sinon il s'affiche sans l'accentuation.

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 Win32 MCM_SETDAYSTATE, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

void CMonthCalDlg::OnBnClickedDaystatebutton()
{
   // First, we must find the visible range. The array we pass to the
   // SetDayState() function must be large enough to hold days for all
   // of the visible months. Even if a month is _partially_ visible,
   // we must have MONTHDAYSTATE data for it in the array we pass.
   // GetMonthRange() returns the range of days currently visible in
   // the control, along with a count of visible months. This array
   // will be up to 2 months larger than the number of "pages" visible
   // in the control.

   SYSTEMTIME timeFrom;
   SYSTEMTIME timeUntil;
   int nCount = m_calCtrl1.GetMonthRange(&timeFrom, &timeUntil, GMR_DAYSTATE);

   // Allocate the state array based on the return value.

   LPMONTHDAYSTATE pDayState;
   pDayState = new MONTHDAYSTATE[nCount];
   memset(pDayState, 0, sizeof(MONTHDAYSTATE) * nCount);

   // Find the first fully visible month.

   int nIndex = (timeFrom.wDay == 1) ? 0 : 1;

   // Set the 4th day, 19th day, and 26th day of the first
   // _fully_ visible month as bold.

   pDayState[nIndex] |= 1 << 3;  // 4th day
   pDayState[nIndex] |= 1 << 18; // 19th day
   pDayState[nIndex] |= 1 << 25; // 25th day

   // Set state and clean up

   VERIFY(m_calCtrl1.SetDayState(nCount, pDayState));
   delete[] pDayState;
}

CMonthCalCtrl ::SetDecadeView

Définit le contrôle calendrier du mois actuel sur l’affichage de la décennie.

BOOL SetDecadeView();

Valeur de retour

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

Notes

Cette méthode utilise la méthode CMonthCalCtrl ::SetCurrentView pour définir la vue MCMV_DECADEsur , qui représente l’affichage de la décennie.

CMonthCalCtrl ::SetFirstDayOfWeek

Définit le jour de la semaine à afficher dans la colonne la plus à gauche du calendrier.

BOOL SetFirstDayOfWeek(
    int iDay,
    int* lpnOld = NULL);

Paramètres

iDay
Valeur entière représentant le jour à définir comme premier jour de la semaine. Cette valeur doit être l’un des nombres de jour. Consultez GetFirstDayOfWeek pour obtenir une description des numéros de jour.

lpnOld
Pointeur vers un entier indiquant le premier jour de la semaine précédemment défini.

Valeur de retour

Différent de zéro si le premier jour précédent de la semaine est défini sur une valeur autre que celle de LOCALE_IFIRSTDAYOFWEEK, qui est le jour indiqué dans le paramètre du panneau de configuration. Sinon, cette fonction retourne 0.

Notes

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

Exemple

// This work isn't normally necessary, since the control will set
// the day of the week to match the system locale by itself.

// Ask the system for the first day of the week
TCHAR sz[2];
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_IFIRSTDAYOFWEEK, sz, 2);

// Convert from string result
int nFirstDay = _ttoi(sz);

// Set it and assert that it was successful.
m_calCtrl1.SetFirstDayOfWeek(nFirstDay);
ASSERT(m_calCtrl1.GetFirstDayOfWeek() == nFirstDay);

CMonthCalCtrl ::SetMaxSelCount

Définit le nombre maximal de jours pouvant être sélectionnés dans un contrôle calendrier de mois.

BOOL SetMaxSelCount(int nMax);

Paramètres

Nmax
Valeur qui sera définie pour représenter le nombre maximal de jours sélectionnables.

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 Win32 MCM_SETMAXSELCOUNT, comme décrit dans le Kit de développement logiciel (SDK) Windows.

Exemple

// The control needs to have the MCS_MULTISELECT style
// for the following code to work.

// change the maximum selection count
m_calCtrl2.SetMaxSelCount(10);

// check that the change was really made
ASSERT(m_calCtrl2.GetMaxSelCount() == 10);

CMonthCalCtrl ::SetMonthDelta

Définit le taux de défilement d’un contrôle de calendrier mensuel.

int SetMonthDelta(int iDelta);

Paramètres

iDelta
Nombre de mois à définir comme taux de défilement du contrôle. Si cette valeur est égale à zéro, le delta du mois est réinitialisé à la valeur par défaut, qui correspond au nombre de mois affichés dans le contrôle.

Valeur de retour

Taux de défilement précédent. Si le taux de défilement n’a pas été défini précédemment, la valeur de retour est 0.

Notes

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

CMonthCalCtrl ::SetMonthView

Définit le contrôle calendrier du mois actuel pour afficher l’affichage mois.

BOOL SetMonthView();

Valeur de retour

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

Notes

Cette méthode utilise la méthode CMonthCalCtrl ::SetCurrentView pour définir la vue sur MCMV_MONTH, qui représente l’affichage mois.

Exemple

Le premier exemple de code définit la variable, m_monthCalCtrlutilisée pour accéder par programmation au contrôle calendrier mensuel. Cette variable est utilisée dans l'exemple suivant.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

L’exemple de code suivant définit le contrôle calendrier mois pour afficher les affichages mois, année, décennie et siècle.

void CCMonthCalCtrl_s1Dlg::OnSetviewSetmonthview()
{
   m_monthCalCtrl.SetMonthView();
}

void CCMonthCalCtrl_s1Dlg::OnSetviewSetyearview()
{
   m_monthCalCtrl.SetYearView();
}

void CCMonthCalCtrl_s1Dlg::OnSetviewSetdecadeview()
{
   m_monthCalCtrl.SetDecadeView();
}

void CCMonthCalCtrl_s1Dlg::OnSetviewSetcenturyview()
{
   m_monthCalCtrl.SetCenturyView();
}

CMonthCalCtrl ::SetRange

Définit les dates minimales et maximales autorisées pour un contrôle calendrier mensuel.

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

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

BOOL SetRange(
    const LPSYSTEMTIME pMinRange,
    const LPSYSTEMTIME pMaxRange);

Paramètres

pMinRange
Pointeur vers un COleDateTime objet, un objet ou une CTime structure SYSTEMTIME contenant la date à la fin la plus basse de la plage.

pMaxRange
Pointeur vers un COleDateTime objet, un objet ou SYSTEMTIME une CTime structure contenant la date au plus haut niveau de la plage.

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 Win32 MCM_SETRANGE, comme décrit dans le Kit de développement logiciel (SDK) Windows. Dans l’implémentation de MFC, SetRangevous pouvez spécifier COleDateTime l’utilisation, une CTime utilisation ou une utilisation de SYSTEMTIME structure.

Exemple

Consultez l’exemple de CMonthCalCtrl ::GetRange.

CMonthCalCtrl ::SetSelRange

Définit la sélection d’un contrôle calendrier mensuel sur une plage de dates donnée.

BOOL SetSelRange(
    const COleDateTime& pMinRange,
    const COleDateTime& pMaxRange);

BOOL SetSelRange(
    const CTime& pMinRange,
    const CTime& pMaxRange);

BOOL SetSelRange(
    const LPSYSTEMTIME pMinRange,
    const LPSYSTEMTIME pMaxRange);

Paramètres

pMinRange
Pointeur vers un COleDateTime objet, un objet ou une CTime structure SYSTEMTIME contenant la date à la fin la plus basse de la plage.

pMaxRange
Pointeur vers un COleDateTime objet, un objet ou SYSTEMTIME une CTime structure contenant la date au plus haut niveau de la plage.

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 Win32 MCM_SETSELRANGE, comme décrit dans le Kit de développement logiciel (SDK) Windows. Dans l’implémentation de MFC, SetSelRangevous pouvez spécifier COleDateTime l’utilisation, une CTime utilisation ou une utilisation de SYSTEMTIME structure.

CMonthCalCtrl ::SetToday

Définit le contrôle calendrier pour le jour actuel.

void SetToday(const COleDateTime& refDateTime);
void SetToday(const CTime* pDateTime);
void SetToday(const LPSYSTEMTIME pDateTime);

Paramètres

refDateTime
Référence à un objet COleDateTime qui contient la date actuelle.

pDateTime
Dans la deuxième version, pointeur vers un objet CTime contenant les informations de date actuelles. Dans la troisième version, pointeur vers une structure SYSTEMTIME qui contient les informations de date actuelles.

Notes

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

Exemple

Consultez l’exemple de CMonthCalCtrl ::GetToday.

CMonthCalCtrl ::SetYearView

Définit le contrôle calendrier du mois actuel sur l’affichage année.

BOOL SetYearView();

Valeur de retour

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

Notes

Cette méthode utilise la méthode CMonthCalCtrl ::SetCurrentView pour définir la vue sur MCMV_YEAR, qui représente l’affichage annuel.

CMonthCalCtrl ::SizeMinReq

Affiche le contrôle calendrier mois à la taille minimale qui affiche un mois.

BOOL SizeMinReq(BOOL bRepaint = TRUE);

Paramètres

bRepaint
Spécifie si le contrôle doit être repeint. Par défaut, TRUE. Si la valeur est FALSE, aucune peinture ne se produit.

Valeur de retour

Différent de zéro si le contrôle de calendrier du mois est dimensionné au minimum ; sinon 0.

Notes

L’appel SizeMinReq affiche correctement le contrôle calendrier mensuel entier pour le calendrier d’un mois.

CMonthCalCtrl ::SizeRectToMin

Pour le contrôle calendrier de mois en cours, calcule le plus petit rectangle pouvant contenir tous les calendriers qui s’intègrent dans un rectangle spécifié.

LPRECT SizeRectToMin(LPRECT lpRect);

Paramètres

lpRect
[in] Pointeur vers une structure RECT qui définit un rectangle qui contient le nombre souhaité de calendriers.

Valeur de retour

Pointeur vers une structure RECT qui définit un rectangle dont la taille est inférieure ou égale au rectangle défini par le paramètre lpRect.

Notes

Cette méthode calcule le nombre de calendriers qui peuvent tenir dans le rectangle spécifié par le paramètre lpRect , puis retourne le plus petit rectangle pouvant contenir ce nombre de calendriers. En effet, cette méthode réduit le rectangle spécifié pour qu’il corresponde exactement au nombre souhaité de calendriers.

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

Voir aussi

Exemple de CMNCTRL1 MFC
CWnd, classe
Graphique hiérarchique
CDateTimeCtrl, classe