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
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 :
Appelez CMonthCalCtrl pour construire un
CMonthCalCtrl
objet.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_monthCalCtrl
utilisé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 :
Valeur | 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_monthCalCtrl
utilisé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, GetCurSel
vous 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.
Valeur | 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_monthCalCtrl
utilisé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.
Valeur | 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, GetMonthRange
vous 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.
Valeur | 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, GetRange
vous 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, GetSelRange
vous 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, GetToday
vous 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_monthCalCtrl
utilisé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_monthCalCtrl
utilisé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_CENTURY
sur , 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.
Valeur | 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 mensuelMCMV_YEAR
: Vue annuelleMCMV_DECADE
: Vue de la décennieMCMV_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, SetCurSel
vous 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_DECADE
sur , 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_monthCalCtrl
utilisé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, SetRange
vous 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, SetSelRange
vous 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