Classe CMonthCalCtrl

Incapsula la funzionalità di un controllo calendario mensile.

Sintassi

class CMonthCalCtrl : public CWnd

Membri

Costruttori pubblici

Nome Descrizione
CMonthCalCtrl::CMonthCalCtrl Costruisce un oggetto CMonthCalCtrl.

Metodi pubblici

Nome Descrizione
CMonthCalCtrl::Create Crea un controllo calendario mensile e lo associa all'oggetto CMonthCalCtrl .
CMonthCalCtrl::GetCalendarBorder Recupera la larghezza del bordo del controllo calendario del mese corrente.
CMonthCalCtrl::GetCalendarCount Recupera il numero di calendari visualizzati nel controllo calendario del mese corrente.
CMonthCalCtrl::GetCalendarGridInfo Recupera informazioni sul controllo calendario del mese corrente.
CMonthCalCtrl::GetCalID Recupera l'identificatore del calendario per il controllo calendario del mese corrente.
CMonthCalCtrl::GetColor Ottiene il colore di un'area specificata di un controllo calendario mensile.
CMonthCalCtrl::GetCurrentView Recupera la visualizzazione attualmente visualizzata dal controllo calendario del mese corrente.
CMonthCalCtrl::GetCurSel Recupera l'ora di sistema come indicato dalla data attualmente selezionata.
CMonthCalCtrl::GetFirstDayOfWeek Ottiene il primo giorno della settimana da visualizzare nella colonna più a sinistra del calendario.
CMonthCalCtrl::GetMaxSelCount Recupera il numero massimo di giorni corrente che è possibile selezionare in un controllo calendario mensile.
CMonthCalCtrl::GetMaxTodayWidth Recupera la larghezza massima della stringa "Today" per il controllo calendario del mese corrente.
CMonthCalCtrl::GetMinReqRect Recupera le dimensioni minime necessarie per visualizzare un mese completo in un controllo del calendario mensile.
CMonthCalCtrl::GetMonthDelta Recupera la frequenza di scorrimento per un controllo del calendario mensile.
CMonthCalCtrl::GetMonthRange Recupera le informazioni sulla data che rappresentano i limiti massimi e bassi della visualizzazione del controllo calendario di un mese.
CMonthCalCtrl::GetRange Recupera le date minime e massime correnti impostate in un controllo calendario mensile.
CMonthCalCtrl::GetSelRange Recupera le informazioni sulla data che rappresentano i limiti superiori e inferiori dell'intervallo di date attualmente selezionato dall'utente.
CMonthCalCtrl::GetToday Recupera le informazioni sulla data per la data specificata come "today" per un controllo del calendario mensile.
CMonthCalCtrl::HitTest Determina quale sezione di un controllo calendario mensile si trova in un determinato punto sullo schermo.
CMonthCalCtrl::IsCenturyView Indica se la visualizzazione corrente del controllo calendario del mese corrente è la visualizzazione century.
CMonthCalCtrl::IsDecadeView Indica se la visualizzazione corrente del controllo calendario del mese corrente è la visualizzazione decade.
CMonthCalCtrl::IsMonthView Indica se la visualizzazione corrente del controllo calendario del mese corrente è la visualizzazione mensile.
CMonthCalCtrl::IsYearView Indica se la visualizzazione corrente del controllo calendario del mese corrente è la visualizzazione dell'anno.
CMonthCalCtrl::SetCalendarBorder Imposta la larghezza del bordo del controllo calendario del mese corrente.
CMonthCalCtrl::SetCalendarBorderDefault Imposta la larghezza predefinita del bordo del controllo calendario del mese corrente.
CMonthCalCtrl::SetCalID Imposta l'identificatore del calendario per il controllo calendario del mese corrente.
CMonthCalCtrl::SetCenturyView Imposta il controllo calendario del mese corrente per visualizzare la visualizzazione century.
CMonthCalCtrl::SetColor Imposta il colore di un'area specificata di un controllo calendario mensile.
CMonthCalCtrl::SetCurrentView Imposta il controllo calendario del mese corrente per visualizzare la visualizzazione specificata.
CMonthCalCtrl::SetCurSel Imposta la data attualmente selezionata per un controllo calendario mensile.
CMonthCalCtrl::SetDayState Imposta la visualizzazione per i giorni in un controllo calendario mensile.
CMonthCalCtrl::SetDecadeView Imposta il controllo calendario del mese corrente sulla visualizzazione decade.
CMonthCalCtrl::SetFirstDayOfWeek Imposta il giorno della settimana da visualizzare nella colonna più a sinistra del calendario.
CMonthCalCtrl::SetMaxSelCount Imposta il numero massimo di giorni che è possibile selezionare in un controllo calendario mensile.
CMonthCalCtrl::SetMonthDelta Imposta la frequenza di scorrimento per un controllo calendario mensile.
CMonthCalCtrl::SetMonthView Imposta il controllo calendario del mese corrente per visualizzare la visualizzazione del mese.
CMonthCalCtrl::SetRange Imposta le date minime e massime consentite per un controllo calendario mensile.
CMonthCalCtrl::SetSelRange Imposta la selezione per un controllo calendario mensile su un determinato intervallo di date.
CMonthCalCtrl::SetToday Imposta il controllo calendario per il giorno corrente.
CMonthCalCtrl::SetYearView Imposta il controllo calendario del mese corrente su visualizzazione anno.
CMonthCalCtrl::SizeMinReq Aggiorna il controllo del calendario mensile alle dimensioni minime di un mese.
CMonthCalCtrl::SizeRectToMin Per il controllo calendario del mese corrente, calcola il rettangolo più piccolo che può contenere tutti i calendari che rientrano in un rettangolo specificato.

Osservazioni:

Il controllo calendario mensile fornisce all'utente una semplice interfaccia del calendario, da cui l'utente può selezionare una data. L'utente può modificare la visualizzazione in base a:

  • Scorrimento indietro e avanti, da mese a mese.

  • Facendo clic sul testo Oggi per visualizzare il giorno corrente (se lo stile di MCS_NOTODAY non viene utilizzato).

  • Scegliere un mese o un anno da un menu a comparsa.

È possibile personalizzare il controllo del calendario mensile applicando un'ampia gamma di stili all'oggetto durante la creazione. Questi stili sono descritti in Stili di controllo del calendario mese in Windows SDK.

Il controllo calendario mensile può visualizzare più di un mese e può indicare giorni speciali (ad esempio festività) in grassetto la data.

Per altre informazioni sull'uso del controllo calendario mensile, vedere Uso di CMonthCalCtrl.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CMonthCalCtrl

Requisiti

Intestazione: afxdtctl.h

CMonthCalCtrl::CMonthCalCtrl

Costruisce un oggetto CMonthCalCtrl.

CMonthCalCtrl();

Osservazioni:

È necessario chiamare Create dopo aver costruito l'oggetto .

CMonthCalCtrl::Create

Crea un controllo calendario mensile e lo associa all'oggetto 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);

Parametri

dwStyle
Specifica la combinazione di stili di Windows applicati al controllo calendario mensile. Per altre informazioni sugli stili, vedere Stili di controllo del calendario del mese in Windows SDK.

rect
Riferimento a una struttura RECT . Contiene la posizione e le dimensioni del controllo calendario del mese.

pt
Riferimento a una struttura POINT che identifica la posizione del controllo calendario del mese.

pParentWnd
Puntatore a un oggetto CWnd che rappresenta la finestra padre del controllo calendario mensile. Non deve essere NULL.

nID
Specifica l'ID di controllo del controllo del calendario del mese.

Valore restituito

Diverso da zero se l'inizializzazione ha avuto esito positivo; in caso contrario, 0.

Osservazioni:

Creare un controllo calendario mensile in due passaggi:

  1. Chiamare CMonthCalCtrl per costruire un CMonthCalCtrl oggetto .

  2. Chiamare questa funzione membro, che crea un controllo calendario mensile e la associa all'oggetto CMonthCalCtrl .

Quando si chiama Create, i controlli comuni vengono inizializzati. La versione della Create chiamata determina le dimensioni:

  • Per fare in modo che MFC ridimensiona automaticamente il controllo su un mese, chiamare l'override che usa il parametro pt .

  • Per ridimensionare manualmente il controllo, chiamare l'override di questa funzione che usa il parametro rect .

Esempio

// 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

Recupera la larghezza del bordo del controllo calendario del mese corrente.

int GetCalendarBorder() const;

Valore restituito

Larghezza del bordo del controllo, espressa in pixel.

Osservazioni:

Questo metodo invia il messaggio MCM_GETCALENDARBORDER , descritto in Windows SDK.

CMonthCalCtrl::GetCalendarCount

Recupera il numero di calendari visualizzati nel controllo calendario del mese corrente.

int GetCalendarCount() const;

Valore restituito

Numero di calendari attualmente visualizzati nel controllo calendario mensile. Il numero massimo consentito di calendari è 12.

Osservazioni:

Questo metodo invia il messaggio di MCM_GETCALENDARCOUNT , descritto in Windows SDK.

CMonthCalCtrl::GetCalendarGridInfo

Recupera informazioni sul controllo calendario del mese corrente.

BOOL GetCalendarGridInfo(PMCGRIDINFO pmcGridInfo) const;

Parametri

pmcGridInfo
[out] Puntatore a una struttura MCGRIDINFO che riceve informazioni sul controllo calendario del mese corrente. Il chiamante è responsabile dell'allocazione e dell'inizializzazione di questa struttura.

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio di MCM_GETCALENDARGRIDINFO , descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce la variabile , m_monthCalCtrl, usata per accedere a livello di codice al controllo del calendario mensile. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice successivo viene utilizzato il GetCalendarGridInfo metodo per recuperare la data del calendario visualizzata dal controllo calendario del mese corrente.

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

Recupera l'identificatore del calendario per il controllo calendario del mese corrente.

CALID GetCalID() const;

Valore restituito

Una delle costanti dell'identificatore di calendario.

Osservazioni:

Un identificatore di calendario indica un calendario specifico dell'area, ad esempio i calendari gregoriani (localizzati), giapponesi o hijri. L'applicazione può usare un identificatore di calendario con varie funzioni di supporto del linguaggio.

Questo metodo invia il messaggio MCM_GETCALID , descritto in Windows SDK.

CMonthCalCtrl::GetColor

Recupera il colore di un'area del controllo calendario del mese specificato da nRegion.

COLORREF GetColor(int nRegion) const;

Parametri

nRegion
Area del controllo del calendario mensile da cui viene recuperato il colore. Per un elenco di valori, vedere il parametro nRegion di SetColor.

Valore restituito

Valore COLORREF che specifica il colore associato alla parte del controllo calendario del mese, se ha esito positivo. In caso contrario, questa funzione membro restituisce -1.

CMonthCalCtrl::GetCurrentView

Recupera la visualizzazione attualmente visualizzata dal controllo calendario del mese corrente.

DWORD GetCurrentView() const;

Valore restituito

Visualizzazione corrente, indicata da uno dei valori seguenti:

Valore Significato
MCMV_MONTH Visualizzazione mensile
MCMV_YEAR Visualizzazione annuale
MCMV_DECADE Visualizzazione Decade
MCMV_CENTURY Vista del secolo

Osservazioni:

Questo metodo invia il messaggio di MCM_GETCURRENTVIEW , descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce la variabile , m_monthCalCtrl, usata per accedere a livello di codice al controllo del calendario mensile. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice successivo viene segnalato il controllo calendario mensile attualmente visualizzato.

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

Recupera l'ora di sistema come indicato dalla data attualmente selezionata.

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

BOOL GetCurSel(LPSYSTEMTIME pDateTime) const;

Parametri

refDateTime
Riferimento a un oggetto COleDateTime o a un oggetto CTime . Riceve l'ora corrente.

pDateTime
Puntatore a una struttura SYSTEMTIME che riceverà le informazioni sulla data attualmente selezionate. Questo parametro deve essere un indirizzo valido e non può essere NULL.

Valore restituito

Diverso da zero se ha esito positivo; otherwize 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_GETCURSEL, come descritto in Windows SDK.

Nota

Questa funzione membro ha esito negativo se lo stile MCS_MULTISELECT è impostato.

Nell'implementazione di MFC di GetCurSelè possibile specificare un utilizzo, un COleDateTime CTime utilizzo o un SYSTEMTIME utilizzo della struttura.

CMonthCalCtrl::GetFirstDayOfWeek

Ottiene il primo giorno della settimana da visualizzare nella colonna più a sinistra del calendario.

int GetFirstDayOfWeek(BOOL* pbLocal = NULL) const;

Parametri

pbLocal
Puntatore a un valore BOOL. Se il valore è diverso da zero, l'impostazione del controllo non corrisponde all'impostazione nel pannello di controllo.

Valore restituito

Valore intero che rappresenta il primo giorno della settimana. Per altre informazioni su ciò che rappresentano questi interi, vedere la sezione Note .

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_GETFIRSTDAYOFWEEK, come descritto in Windows SDK. I giorni della settimana sono rappresentati come numeri interi, come indicato di seguito.

Valore Giorno della settimana
0 lunedì
1 Martedì
2 mercoledì
3 giovedì
4 Venerdì
5 Sabato
6 Domenica

Esempio

Vedere l'esempio per CMonthCalCtrl::SetFirstDayOfWeek.

CMonthCalCtrl::GetMaxSelCount

Recupera il numero massimo di giorni corrente che è possibile selezionare in un controllo calendario mensile.

int GetMaxSelCount() const;

Valore restituito

Valore intero che rappresenta il numero totale di giorni che è possibile selezionare per il controllo.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_GETMAXSELCOUNT, come descritto in Windows SDK. Utilizzare questa funzione membro per i controlli con il set di stili MCS_MULTISELECT.

Esempio

Vedere l'esempio per CMonthCalCtrl::SetMaxSelCount.

CMonthCalCtrl::GetMaxTodayWidth

Recupera la larghezza massima della stringa "Today" per il controllo calendario del mese corrente.

DWORD GetMaxTodayWidth() const;

Valore restituito

Larghezza della stringa "Today", in pixel.

Esempio

Il primo esempio di codice definisce la variabile , m_monthCalCtrl, usata per accedere a livello di codice al controllo del calendario mensile. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice successivo viene illustrato il GetMaxTodayWidth metodo .

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

Osservazioni:

L'utente può tornare alla data corrente facendo clic sulla stringa "Today", visualizzata nella parte inferiore del controllo del calendario mensile. La stringa "Today" include il testo dell'etichetta e il testo della data.

Questo metodo invia il messaggio di MCM_GETMAXTODAYWIDTH , descritto in Windows SDK.

CMonthCalCtrl::GetMinReqRect

Recupera le dimensioni minime necessarie per visualizzare un mese completo in un controllo del calendario mensile.

BOOL GetMinReqRect(RECT* pRect) const;

Parametri

pRect
Puntatore a una struttura RECT che riceverà informazioni sul rettangolo di delimitazione. Questo parametro deve essere un indirizzo valido e non può essere NULL.

Valore restituito

Se ha esito positivo, questa funzione membro restituisce un valore diverso da zero e lpRect riceve le informazioni di delimitazione applicabili. In caso di esito negativo, la funzione membro restituisce 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_GETMINREQRECT, come descritto in Windows SDK.

CMonthCalCtrl::GetMonthDelta

Recupera la frequenza di scorrimento per un controllo del calendario mensile.

int GetMonthDelta() const;

Valore restituito

Frequenza di scorrimento per il controllo del calendario mensile. La frequenza di scorrimento è il numero di mesi in cui il controllo sposta la visualizzazione quando l'utente fa clic su un pulsante di scorrimento una sola volta.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_GETMONTHDELTA, come descritto in Windows SDK.

CMonthCalCtrl::GetMonthRange

Recupera le informazioni sulla data che rappresentano i limiti massimi e bassi della visualizzazione del controllo calendario di un mese.

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;

Parametri

refMinRange
Riferimento a un oggetto COleDateTime o CTime contenente la data minima consentita.

refMaxRange
Riferimento a un COleDateTime oggetto o CTime contenente la data massima consentita.

pMinRange
Puntatore a una struttura SYSTEMTIME contenente la data alla fine più bassa dell'intervallo.

pMaxRange
Puntatore a una SYSTEMTIME struttura contenente la data alla fine più alta dell'intervallo.

dwFlags
Valore che specifica l'ambito dei limiti dell'intervallo da recuperare. Questo valore deve essere uno dei seguenti.

Valore Significato
GMR_DAYSTATE Includere i mesi precedenti e finali dell'intervallo visibile che vengono visualizzati solo parzialmente.
GMR_VISIBLE Includere solo i mesi completamente visualizzati.

Valore restituito

Intero che rappresenta l'intervallo, in mesi, esteso dai due limiti indicati da refMinRange e refMaxRange nelle prime e nelle seconde versioni, oppure pMinRange e pMaxRange nella terza versione.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_GETMONTHRANGE, come descritto in Windows SDK. Nell'implementazione di MFC di GetMonthRangeè possibile specificare COleDateTime l'utilizzo, un CTime utilizzo o un SYSTEMTIME utilizzo della struttura.

Esempio

Vedere l'esempio per CMonthCalCtrl::SetDayState.

CMonthCalCtrl::GetRange

Recupera le date minime e massime correnti impostate in un controllo calendario mensile.

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

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

DWORD GetRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Parametri

pMinRange
Puntatore a un oggetto, a un COleDateTime oggetto o a una CTime struttura SYSTEMTIME contenente la data alla fine più bassa dell'intervallo.

pMaxRange
Puntatore a un oggetto, a un COleDateTime oggetto o a una CTime struttura SYSTEMTIME contenente la data alla fine più alta dell'intervallo.

Valore restituito

DWORD che può essere zero (non sono impostati limiti) o una combinazione dei valori seguenti che specificano le informazioni sui limiti.

Valore Significato
GDTR_MAX Viene impostato un limite massimo per il controllo; pMaxRange è valido e contiene le informazioni sulla data applicabili.
GDTR_MIN Viene impostato un limite minimo per il controllo; pMinRange è valido e contiene le informazioni sulla data applicabili.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_GETRANGE, come descritto in Windows SDK. Nell'implementazione di MFC di GetRangeè possibile specificare un utilizzo, un COleDateTime CTime utilizzo o un SYSTEMTIME utilizzo della struttura.

Esempio

// 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

Recupera le informazioni sulla data che rappresentano i limiti superiori e inferiori dell'intervallo di date attualmente selezionato dall'utente.

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

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

BOOL GetSelRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Parametri

refMinRange
Riferimento a un oggetto COleDateTime o CTime contenente la data minima consentita.

refMaxRange
Riferimento a un COleDateTime oggetto o CTime contenente la data massima consentita.

pMinRange
Puntatore a una struttura SYSTEMTIME contenente la data alla fine più bassa dell'intervallo.

pMaxRange
Puntatore a una SYSTEMTIME struttura contenente la data alla fine più alta dell'intervallo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_GETSELRANGE, come descritto in Windows SDK. GetSelRange avrà esito negativo se applicato a un controllo del calendario mensile che non utilizza lo stile MCS_MULTISELECT.

Nell'implementazione di MFC di GetSelRangeè possibile specificare COleDateTime l'utilizzo, un CTime utilizzo o un SYSTEMTIME utilizzo della struttura.

CMonthCalCtrl::GetToday

Recupera le informazioni sulla data per la data specificata come "today" per un controllo del calendario mensile.

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

BOOL GetToday(LPSYSTEMTIME pDateTime) const;

Parametri

refDateTime
Riferimento a un oggetto COleDateTime o CTime che indica il giorno corrente.

pDateTime
Puntatore a una struttura SYSTEMTIME che riceverà le informazioni sulla data. Questo parametro deve essere un indirizzo valido e non può essere NULL.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_GETTODAY, come descritto in Windows SDK. Nell'implementazione di MFC di GetTodayè possibile specificare un utilizzo, un COleDateTime CTime utilizzo o un SYSTEMTIME utilizzo della struttura.

Esempio

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

Determina quale controllo calendario mensile, se disponibile, si trova in una posizione specificata.

DWORD HitTest(PMCHITTESTINFO pMCHitTest);

Parametri

pMCHitTest
Puntatore a una struttura MCHITTESTINFO contenente punti di hit testing per il controllo del calendario mensile.

Valore restituito

Valore DWORD. Uguale al membro uHit della MCHITTESTINFO struttura.

Osservazioni:

HitTest utilizza la MCHITTESTINFO struttura che contiene informazioni sull'hit test.

CMonthCalCtrl::IsCenturyView

Indica se la visualizzazione corrente del controllo calendario del mese corrente è la visualizzazione century.

BOOL IsCenturyView() const;

Valore restituito

TRUE se la vista corrente è la vista del secolo; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio di MCM_GETCURRENTVIEW , descritto in Windows SDK. Se il messaggio restituisce MCMV_CENTURY, questo metodo restituisce TRUE.

CMonthCalCtrl::IsDecadeView

Indica se la visualizzazione corrente del controllo calendario del mese corrente è la visualizzazione decade.

BOOL IsDecadeView() const;

Valore restituito

TRUE se la visualizzazione corrente è la visualizzazione decade; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio di MCM_GETCURRENTVIEW , descritto in Windows SDK. Se il messaggio restituisce MCMV_DECADE, questo metodo restituisce TRUE.

CMonthCalCtrl::IsMonthView

Indica se la visualizzazione corrente del controllo calendario del mese corrente è la visualizzazione mensile.

BOOL IsMonthView() const;

Valore restituito

TRUE se la visualizzazione corrente è la visualizzazione mensile; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio di MCM_GETCURRENTVIEW , descritto in Windows SDK. Se il messaggio restituisce MCMV_MONTH, questo metodo restituisce TRUE.

CMonthCalCtrl::IsYearView

Indica se la visualizzazione corrente del controllo calendario del mese corrente è la visualizzazione dell'anno.

BOOL IsYearView() const;

Valore restituito

TRUE se la visualizzazione corrente è la visualizzazione dell'anno; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio di MCM_GETCURRENTVIEW , descritto in Windows SDK. Se il messaggio restituisce MCMV_YEAR, questo metodo restituisce TRUE.

CMonthCalCtrl::SetCalendarBorder

Imposta la larghezza del bordo del controllo calendario del mese corrente.

void SetCalendarBorder(int cxyBorder);

Parametri

cxyBorder
[in] Larghezza del bordo, in pixel.

Osservazioni:

Se questo metodo ha esito positivo, la larghezza del bordo viene impostata sul parametro cxyBorder . In caso contrario, la larghezza del bordo viene reimpostata sul valore predefinito specificato dal tema corrente oppure zero se i temi non vengono utilizzati.

Questo metodo invia il messaggio di MCM_SETCALENDARBORDER descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce la variabile , m_monthCalCtrl, usata per accedere a livello di codice al controllo del calendario mensile. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice successivo la larghezza del bordo del controllo calendario mensile viene impostata su otto pixel. Utilizzare il metodo CMonthCalCtrl::GetCalendarBorder per determinare se il metodo è riuscito.

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

CMonthCalCtrl::SetCalendarBorderDefault

Imposta la larghezza predefinita del bordo del controllo calendario del mese corrente.

void SetCalendarBorderDefault();

Osservazioni:

La larghezza del bordo viene impostata sul valore predefinito specificato dal tema corrente oppure zero se i temi non vengono utilizzati.

Questo metodo invia il messaggio di MCM_SETCALENDARBORDER descritto in Windows SDK.

CMonthCalCtrl::SetCalID

Imposta l'identificatore del calendario per il controllo calendario del mese corrente.

BOOL SetCalID(CALID calid);

Parametri

calid
[in] Una delle costanti dell'identificatore di calendario.

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Un identificatore di calendario specifica un calendario specifico dell'area, ad esempio i calendari gregoriani (localizzati), giapponesi o hijri. Utilizzare il SetCalID metodo per visualizzare un calendario specificato dal parametro calid se le impostazioni locali che contengono il calendario sono installate nel computer.

Questo metodo invia il messaggio di MCM_SETCALID , descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce la variabile , m_monthCalCtrl, usata per accedere a livello di codice al controllo del calendario mensile. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice seguente viene impostato il controllo del calendario mensile per visualizzare il calendario dell'era dell'imperatore giapponese. Il SetCalID metodo ha esito positivo solo se il calendario è installato nel computer.

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

Imposta il controllo calendario del mese corrente per visualizzare la visualizzazione century.

BOOL SetCenturyView();

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo usa il metodo CMonthCalCtrl::SetCurrentView per impostare la visualizzazione su MCMV_CENTURY, che rappresenta la visualizzazione century.

CMonthCalCtrl::SetColor

Imposta il colore di un'area specificata di un controllo calendario mensile.

COLORREF SetColor(
    int nRegion,
    COLORREF ref);

Parametri

nRegion
Valore intero che specifica il colore del calendario del mese da impostare. Questo valore può essere uno dei seguenti.

Valore Significato
MCSC_BACKGROUND Colore di sfondo visualizzato tra mesi.
MCSC_MONTHBK Colore di sfondo visualizzato entro il mese.
MCSC_TEXT Colore utilizzato per visualizzare il testo entro un mese.
MCSC_TITLEBK Colore di sfondo visualizzato nel titolo del calendario.
MCSC_TITLETEXT Colore utilizzato per visualizzare il testo all'interno del titolo del calendario.
MCSC_TRAILINGTEXT Colore utilizzato per visualizzare il testo dell'intestazione e del giorno finale. Le intestazioni e i giorni finali sono i giorni dei mesi precedenti e successivi visualizzati nel calendario corrente.

ref
Valore COLORREF per la nuova impostazione di colore per la parte specificata del controllo calendario del mese.

Valore restituito

Valore COLORREF che rappresenta l'impostazione del colore precedente per la parte specificata del controllo calendario del mese, se ha esito positivo. In caso contrario, questo messaggio restituisce -1.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_SETCOLOR, come descritto in Windows SDK.

Esempio

// 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

Imposta il controllo calendario del mese corrente per visualizzare la visualizzazione specificata.

BOOL SetCurrentView(DWORD dwNewView);

Parametri

dwNewView
[in] Uno dei valori seguenti che specifica una visualizzazione mensile, annuale, decade o secolo.

  • MCMV_MONTH: visualizzazione mensile
  • MCMV_YEAR: visualizzazione annuale
  • MCMV_DECADE: visualizzazione Decade
  • MCMV_CENTURY: vista secolo

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il messaggio di MCM_SETCURRENTVIEW , descritto in Windows SDK.

CMonthCalCtrl::SetCurSel

Imposta la data attualmente selezionata per un controllo calendario mensile.

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

Parametri

refDateTime
Riferimento a un oggetto COleDateTime o CTime che indica il controllo del calendario del mese attualmente selezionato.

pDateTime
Puntatore a una struttura SYSTEMTIME contenente la data da impostare come selezione corrente.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_SETCURSEL, come descritto in Windows SDK. Nell'implementazione di MFC di SetCurSelè possibile specificare un utilizzo, un COleDateTime CTime utilizzo o un SYSTEMTIME utilizzo della struttura.

Esempio

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

Imposta la visualizzazione per i giorni in un controllo calendario mensile.

BOOL SetDayState(
    int nMonths,
    LPMONTHDAYSTATE pStates);

Parametri

nMonths
Valore che indica il numero di elementi nella matrice a cui punta pStates .

pStates
Puntatore a una matrice MONTHDAYSTATE di valori che definiscono la modalità di disegno del controllo calendario mensile ogni giorno nella relativa visualizzazione. Il tipo di dati MONTHDAYSTATE è un campo di bit, dove ogni bit (da 1 a 31) rappresenta lo stato di un giorno in un mese. Se un po' è attivo, il giorno corrispondente verrà visualizzato in grassetto; in caso contrario, verrà visualizzato senza enfasi.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_SETDAYSTATE, come descritto in Windows SDK.

Esempio

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

Imposta il controllo calendario del mese corrente sulla visualizzazione decade.

BOOL SetDecadeView();

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo usa il metodo CMonthCalCtrl::SetCurrentView per impostare la visualizzazione su MCMV_DECADE, che rappresenta la visualizzazione decade.

CMonthCalCtrl::SetFirstDayOfWeek

Imposta il giorno della settimana da visualizzare nella colonna più a sinistra del calendario.

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

Parametri

iDay
Valore intero che rappresenta il giorno da impostare come primo giorno della settimana. Questo valore deve essere uno dei numeri del giorno. Per una descrizione dei numeri di giorno, vedere GetFirstDayOfWeek .

lpnOld
Puntatore a un numero intero che indica il primo giorno della settimana impostato in precedenza.

Valore restituito

Diverso da zero se il primo giorno della settimana precedente è impostato su un valore diverso da quello di LOCALE_IFIRSTDAYOFWEEK, ovvero il giorno indicato nell'impostazione del pannello di controllo. In caso contrario, questa funzione restituisce 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_SETFIRSTDAYOFWEEK, come descritto in Windows SDK.

Esempio

// 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

Imposta il numero massimo di giorni che è possibile selezionare in un controllo calendario mensile.

BOOL SetMaxSelCount(int nMax);

Parametri

nMax
Valore che verrà impostato per rappresentare il numero massimo di giorni selezionabili.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_SETMAXSELCOUNT, come descritto in Windows SDK.

Esempio

// 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

Imposta la frequenza di scorrimento per un controllo calendario mensile.

int SetMonthDelta(int iDelta);

Parametri

iDelta
Numero di mesi da impostare come frequenza di scorrimento del controllo. Se questo valore è zero, il delta del mese viene reimpostato sul valore predefinito, ovvero il numero di mesi visualizzato nel controllo.

Valore restituito

Frequenza di scorrimento precedente. Se la frequenza di scorrimento non è stata impostata in precedenza, il valore restituito è 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_SETMONTHDELTA, come descritto in Windows SDK.

CMonthCalCtrl::SetMonthView

Imposta il controllo calendario del mese corrente per visualizzare la visualizzazione del mese.

BOOL SetMonthView();

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo usa il metodo CMonthCalCtrl::SetCurrentView per impostare la visualizzazione su MCMV_MONTH, che rappresenta la visualizzazione del mese.

Esempio

Il primo esempio di codice definisce la variabile , m_monthCalCtrl, usata per accedere a livello di codice al controllo del calendario mensile. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice successivo viene impostato il controllo del calendario mensile per visualizzare le visualizzazioni mese, anno, decennio e secolo.

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

Imposta le date minime e massime consentite per un controllo calendario mensile.

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

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

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

Parametri

pMinRange
Puntatore a un oggetto, a un COleDateTime oggetto o a una CTime struttura SYSTEMTIME contenente la data alla fine più bassa dell'intervallo.

pMaxRange
Puntatore a un oggetto, a un oggetto o SYSTEMTIME a una COleDateTime CTime struttura contenente la data alla fine più alta dell'intervallo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_SETRANGE, come descritto in Windows SDK. Nell'implementazione di MFC di SetRangeè possibile specificare COleDateTime l'utilizzo, un CTime utilizzo o un SYSTEMTIME utilizzo della struttura.

Esempio

Vedere l'esempio per CMonthCalCtrl::GetRange.

CMonthCalCtrl::SetSelRange

Imposta la selezione per un controllo calendario mensile su un determinato intervallo di date.

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

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

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

Parametri

pMinRange
Puntatore a un oggetto, a un COleDateTime oggetto o a una CTime struttura SYSTEMTIME contenente la data alla fine più bassa dell'intervallo.

pMaxRange
Puntatore a un oggetto, a un oggetto o SYSTEMTIME a una COleDateTime CTime struttura contenente la data alla fine più alta dell'intervallo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_SETSELRANGE, come descritto in Windows SDK. Nell'implementazione di MFC di SetSelRangeè possibile specificare COleDateTime l'utilizzo, un CTime utilizzo o un SYSTEMTIME utilizzo della struttura.

CMonthCalCtrl::SetToday

Imposta il controllo calendario per il giorno corrente.

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

Parametri

refDateTime
Riferimento a un oggetto COleDateTime contenente la data corrente.

pDateTime
Nella seconda versione, un puntatore a un oggetto CTime contenente le informazioni sulla data corrente. Nella terza versione, un puntatore a una struttura SYSTEMTIME che contiene le informazioni sulla data corrente.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio Win32 MCM_SETTODAY, come descritto in Windows SDK.

Esempio

Vedere l'esempio per CMonthCalCtrl::GetToday.

CMonthCalCtrl::SetYearView

Imposta il controllo calendario del mese corrente su visualizzazione anno.

BOOL SetYearView();

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo usa il metodo CMonthCalCtrl::SetCurrentView per impostare la visualizzazione su MCMV_YEAR, che rappresenta la visualizzazione annuale.

CMonthCalCtrl::SizeMinReq

Visualizza il controllo del calendario mensile con le dimensioni minime visualizzate un mese.

BOOL SizeMinReq(BOOL bRepaint = TRUE);

Parametri

bRepaint
Specifica se il controllo deve essere ridisegnato. Per impostazione predefinita, TRUE. Se FALSE, non viene eseguito alcun aggiornamento.

Valore restituito

Diverso da zero se il controllo del calendario mensile viene ridimensionato al minimo; in caso contrario, 0.

Osservazioni:

Se si chiama SizeMinReq correttamente, viene visualizzato il controllo del calendario dell'intero mese per il calendario di un mese.

CMonthCalCtrl::SizeRectToMin

Per il controllo calendario del mese corrente, calcola il rettangolo più piccolo che può contenere tutti i calendari che rientrano in un rettangolo specificato.

LPRECT SizeRectToMin(LPRECT lpRect);

Parametri

lpRect
[in] Puntatore a una struttura RECT che definisce un rettangolo che contiene il numero desiderato di calendari.

Valore restituito

Puntatore a una struttura RECT che definisce un rettangolo la cui dimensione è minore o uguale al rettangolo definito dal parametro lpRect .

Osservazioni:

Questo metodo calcola il numero di calendari che possono essere inseriti nel rettangolo specificato dal parametro lpRect e quindi restituisce il rettangolo più piccolo che può contenere tale numero di calendari. In effetti, questo metodo riduce il rettangolo specificato in modo che corrisponda esattamente al numero desiderato di calendari.

Questo metodo invia il messaggio di MCM_SIZERECTTOMIN , descritto in Windows SDK.

Vedi anche

CMNCTRL1 di esempio MFC
Classe CWnd
Grafico della gerarchia
Classe CDateTimeCtrl