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à
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:
Chiamare CMonthCalCtrl per costruire un
CMonthCalCtrl
oggetto .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 mensileMCMV_YEAR
: visualizzazione annualeMCMV_DECADE
: visualizzazione DecadeMCMV_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