CMonthCalCtrl-Klasse

Kapselt die Funktionalität eines Monatskalender-Steuerelements.

Syntax

class CMonthCalCtrl : public CWnd

Member

Öffentliche Konstruktoren

name BESCHREIBUNG
CMonthCalCtrl::CMonthCalCtrl Erstellt ein CMonthCalCtrl-Objekt.

Öffentliche Methoden

name BESCHREIBUNG
CMonthCalCtrl::Create Erstellt ein Monatskalender-Steuerelement und fügt es an das - CMonthCalCtrl Objekt an.
CMonthCalCtrl::GetCalendarBorder Ruft die Breite des Rahmens des Kalendersteuerelements für den aktuellen Monat ab.
CMonthCalCtrl::GetCalendarCount Ruft die Anzahl der Kalender ab, die im Kalendersteuerelement des aktuellen Monats angezeigt werden.
CMonthCalCtrl::GetCalendarGridInfo Ruft Informationen zum Kalendersteuerelement für den aktuellen Monat ab.
CMonthCalCtrl::GetCalID Ruft den Kalenderbezeichner für das Kalendersteuerelement für den aktuellen Monat ab.
CMonthCalCtrl::GetColor Ruft die Farbe eines angegebenen Bereichs eines Monatskalender-Steuerelements ab.
CMonthCalCtrl::GetCurrentView Ruft die Ansicht ab, die derzeit vom Kalendersteuerelement des aktuellen Monats angezeigt wird.
CMonthCalCtrl::GetCurSel Ruft die Systemzeit ab, wie durch das aktuell ausgewählte Datum angegeben.
CMonthCalCtrl::GetFirstDayOfWeek Ruft den ersten Tag der Woche ab, der in der spalte ganz links im Kalender angezeigt werden soll.
CMonthCalCtrl::GetMaxSelCount Ruft die aktuelle maximale Anzahl von Tagen ab, die in einem Monatskalender-Steuerelement ausgewählt werden können.
CMonthCalCtrl::GetMaxTodayWidth Ruft die maximale Breite der Zeichenfolge "Today" für das Kalendersteuerelement des aktuellen Monats ab.
CMonthCalCtrl::GetMinReqRect Ruft die mindest erforderliche Größe ab, um einen vollständigen Monat in einem Monatskalender-Steuerelement anzuzeigen.
CMonthCalCtrl::GetMonthDelta Ruft die Bildlaufrate für ein Monatskalender-Steuerelement ab.
CMonthCalCtrl::GetMonthRange Ruft Datumsinformationen ab, die die hohen und niedrigen Grenzwerte der Anzeige eines Monatskalender-Steuerelements darstellen.
CMonthCalCtrl::GetRange Ruft die aktuellen minimalen und maximalen Datumsangaben ab, die in einem Monatskalender-Steuerelement festgelegt sind.
CMonthCalCtrl::GetSelRange Ruft Datumsinformationen ab, die die oberen und unteren Grenzwerte des vom Benutzer derzeit ausgewählten Datumsbereichs darstellen.
CMonthCalCtrl::GetToday Ruft die Datumsinformationen für das Als "heute" angegebene Datum für ein Monatskalender-Steuerelement ab.
CMonthCalCtrl::HitTest Bestimmt, welcher Abschnitt eines Monatskalender-Steuerelements sich an einem bestimmten Punkt auf dem Bildschirm befindet.
CMonthCalCtrl::IsCenturyView Gibt an, ob die aktuelle Ansicht des Kalendersteuerelements für den aktuellen Monat die Jahrhundertansicht ist.
CMonthCalCtrl::IsDecadeView Gibt an, ob die aktuelle Ansicht des Kalendersteuerelements für den aktuellen Monat die Zehneransicht ist.
CMonthCalCtrl::IsMonthView Gibt an, ob die aktuelle Ansicht des Kalendersteuerelements für den aktuellen Monat die Monatsansicht ist.
CMonthCalCtrl::IsYearView Gibt an, ob die aktuelle Ansicht des Kalendersteuerelements für den aktuellen Monat die Jahresansicht ist.
CMonthCalCtrl::SetCalendarBorder Legt die Breite des Rahmens des Kalendersteuerelements für den aktuellen Monat fest.
CMonthCalCtrl::SetCalendarBorderDefault Legt die Standardbreite des Rahmens des Kalendersteuerelements für den aktuellen Monat fest.
CMonthCalCtrl::SetCalID Legt den Kalenderbezeichner für das Kalendersteuerelement für den aktuellen Monat fest.
CMonthCalCtrl::SetCenturyView Legt das Kalendersteuerelement für den aktuellen Monat fest, um die Jahrhundertansicht anzuzeigen.
CMonthCalCtrl::SetColor Legt die Farbe eines angegebenen Bereichs eines Monatskalender-Steuerelements fest.
CMonthCalCtrl::SetCurrentView Legt das Kalendersteuerelement für den aktuellen Monat so fest, dass die angegebene Ansicht angezeigt wird.
CMonthCalCtrl::SetCurSel Legt das aktuell ausgewählte Datum für ein Monatskalender-Steuerelement fest.
CMonthCalCtrl::SetDayState Legt die Anzeige für Tage in einem Monatskalender-Steuerelement fest.
CMonthCalCtrl::SetDecadeView Legt das Kalendersteuerelement für den aktuellen Monat auf die Zehneransicht fest.
CMonthCalCtrl::SetFirstDayOfWeek Legt den Wochentag fest, der in der spalte ganz links im Kalender angezeigt werden soll.
CMonthCalCtrl::SetMaxSelCount Legt die maximale Anzahl von Tagen fest, die in einem Monatskalender-Steuerelement ausgewählt werden können.
CMonthCalCtrl::SetMonthDelta Legt die Bildlaufrate für ein Monatskalender-Steuerelement fest.
CMonthCalCtrl::SetMonthView Legt das Kalendersteuerelement für den aktuellen Monat fest, um die Monatsansicht anzuzeigen.
CMonthCalCtrl::SetRange Legt die minimalen und maximal zulässigen Datumsangaben für ein Monatskalender-Steuerelement fest.
CMonthCalCtrl::SetSelRange Legt die Auswahl für ein Monatskalender-Steuerelement auf einen angegebenen Datumsbereich fest.
CMonthCalCtrl::SetToday Legt das Kalendersteuerelement für den aktuellen Tag fest.
CMonthCalCtrl::SetYearView Legt das Kalendersteuerelement für den aktuellen Monat auf die Jahresansicht fest.
CMonthCalCtrl::SizeMinReq Stricht das Monatskalender-Steuerelement auf die minimale Größe von einem Monat um.
CMonthCalCtrl::SizeRectToMin Berechnet für das Kalendersteuerelement des aktuellen Monats das kleinste Rechteck, das alle Kalender enthalten kann, die in ein angegebenes Rechteck passen.

Hinweise

Das Monatskalender-Steuerelement stellt dem Benutzer eine einfache Kalenderschnittstelle zur Verfügung, über die der Benutzer ein Datum auswählen kann. Der Benutzer kann die Anzeige wie folgt ändern:

  • Bildlauf rückwärts und vorwärts von Monat zu Monat.

  • Klicken Sie auf den Text Heute, um den aktuellen Tag anzuzeigen (wenn der MCS_NOTODAY Format nicht verwendet wird).

  • Wählen Sie einen Monat oder ein Jahr aus einem Popupmenü aus.

Sie können das Monatskalender-Steuerelement anpassen, indem Sie beim Erstellen eine Vielzahl von Stilen auf das -Objekt anwenden. Diese Stile werden unter Monatskalender-Steuerelementstile im Windows SDK beschrieben.

Das Monatskalender-Steuerelement kann mehr als einen Monat anzeigen, und es kann spezielle Tage (z. B. Feiertagen) angeben, indem das Datum fett formatiert wird.

Weitere Informationen zur Verwendung des Monatskalender-Steuerelements finden Sie unter Verwenden von CMonthCalCtrl.

Vererbungshierarchie

Cobject

CCmdTarget

CWnd

CMonthCalCtrl

Anforderungen

Header: afxdtctl.h

CMonthCalCtrl::CMonthCalCtrl

Erstellt ein CMonthCalCtrl-Objekt.

CMonthCalCtrl();

Hinweise

Sie müssen aufrufen Create , nachdem Sie das -Objekt erstellt haben.

CMonthCalCtrl::Create

Erstellt ein Monatskalender-Steuerelement und fügt es an das - CMonthCalCtrl Objekt an.

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

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

Parameter

dwStyle
Gibt die Kombination von Windows Formatvorlagen an, die auf das Monatskalender-Steuerelement angewendet werden. Weitere Informationen zu den Stilen finden Sie unter Monatskalender-Steuerelementstile im Windows SDK.

Rect
Ein Verweis auf eine RECT-Struktur . Enthält die Position und Größe des Monatskalender-Steuerelements.

pt
Ein Verweis auf eine POINT-Struktur , die den Speicherort des Monatskalender-Steuerelements identifiziert.

pParentWnd
Ein Zeiger auf ein CWnd-Objekt , das das übergeordnete Fenster des Monatskalender-Steuerelements ist. Er darf nicht NULL sein.

nID
Gibt die Steuerelement-ID des Monatskalender-Steuerelements an.

Rückgabewert

Ungleich 0 (null), wenn die Initialisierung erfolgreich war; andernfalls 0.

Hinweise

Erstellen Sie in zwei Schritten ein Monatskalender-Steuerelement:

  1. Rufen Sie CMonthCalCtrl auf, um ein CMonthCalCtrl -Objekt zu erstellen.

  2. Rufen Sie diese Memberfunktion auf, die ein Monatskalender-Steuerelement erstellt und an das CMonthCalCtrl -Objekt anfügt.

Wenn Sie aufrufen Create, werden die allgemeinen Steuerelemente initialisiert. Die Von Ihnen aufgerufene Version Create bestimmt die Größe:

  • Damit MFC das Steuerelement automatisch auf einen Monat vergrößert, rufen Sie die Außerkraftsetzung auf, die den pt-Parameter verwendet.

  • Um das Steuerelement selbst zu dimensionieren, rufen Sie die Überschreibung dieser Funktion auf, die den rect-Parameter verwendet .

Beispiel

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

Ruft die Breite des Rahmens des Kalendersteuerelements für den aktuellen Monat ab.

int GetCalendarBorder() const;

Rückgabewert

Die Breite des Steuerelementrahmens in Pixel.

Hinweise

Diese Methode sendet die MCM_GETCALENDARBORDER Nachricht, die im Windows SDK beschrieben wird.

CMonthCalCtrl::GetCalendarCount

Ruft die Anzahl der Kalender ab, die im Kalendersteuerelement des aktuellen Monats angezeigt werden.

int GetCalendarCount() const;

Rückgabewert

Die Anzahl von Kalendern, die derzeit im Monatskalender-Steuerelement angezeigt werden. Die maximal zulässige Anzahl von Kalendern beträgt 12.

Hinweise

Diese Methode sendet die MCM_GETCALENDARCOUNT Nachricht, die im Windows SDK beschrieben wird.

CMonthCalCtrl::GetCalendarGridInfo

Ruft Informationen zum Kalendersteuerelement für den aktuellen Monat ab.

BOOL GetCalendarGridInfo(PMCGRIDINFO pmcGridInfo) const;

Parameter

pmcGridInfo
[out] Zeiger auf eine MCGRIDINFO-Struktur , die Informationen zum Kalendersteuerelement des aktuellen Monats empfängt. Der Aufrufer ist für das Zuordnen und Initialisieren dieser Struktur verantwortlich.

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Diese Methode sendet die MCM_GETCALENDARGRIDINFO Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrldie für den programmgesteuerten Zugriff auf das Monatskalender-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird die GetCalendarGridInfo -Methode verwendet, um das Kalenderdatum abzurufen, das im Aktuellen Monatskalender-Steuerelement angezeigt wird.

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

Ruft den Kalenderbezeichner für das Kalendersteuerelement für den aktuellen Monat ab.

CALID GetCalID() const;

Rückgabewert

Eine der Kalenderbezeichnerkonstanten .

Hinweise

Ein Kalenderbezeichner gibt einen regionsspezifischen Kalender an, z. B. den gregorianischen (lokalisierten), japanischen oder Hijri-Kalender. Ihre Anwendung kann einen Kalenderbezeichner verwenden, der über verschiedene Sprachunterstützungsfunktionen verfügt.

Diese Methode sendet die MCM_GETCALID Nachricht, die im Windows SDK beschrieben wird.

CMonthCalCtrl::GetColor

Ruft die Farbe eines Bereichs des monatskalender-Steuerelements ab, das von nRegion angegeben wird.

COLORREF GetColor(int nRegion) const;

Parameter

nRegion
Der Bereich des Monatskalender-Steuerelements, aus dem die Farbe abgerufen wird. Eine Liste der Werte finden Sie im nRegion-Parameter von SetColor.

Rückgabewert

Ein COLORREF-Wert , der die Farbe angibt, die dem Teil des Monatskalender-Steuerelements zugeordnet ist, falls erfolgreich. Andernfalls gibt diese Memberfunktion -1 zurück.

CMonthCalCtrl::GetCurrentView

Ruft die Ansicht ab, die derzeit vom Kalendersteuerelement des aktuellen Monats angezeigt wird.

DWORD GetCurrentView() const;

Rückgabewert

Die aktuelle Ansicht, die durch einen der folgenden Werte angegeben wird:

Wert Bedeutung
MCMV_MONTH Monatsansicht
MCMV_YEAR Jahresansicht
MCMV_DECADE Ansicht "10 Jahre"
MCMV_CENTURY Ansicht "Century"

Hinweise

Diese Methode sendet die MCM_GETCURRENTVIEW Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrldie für den programmgesteuerten Zugriff auf das Monatskalender-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel werden Berichte angezeigt, die das Monatskalender-Steuerelement anzeigen, das derzeit angezeigt wird.

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

Ruft die Systemzeit ab, wie durch das aktuell ausgewählte Datum angegeben.

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

BOOL GetCurSel(LPSYSTEMTIME pDateTime) const;

Parameter

refDateTime
Ein Verweis auf ein COleDateTime-Objekt oder ein CTime-Objekt . Empfängt die aktuelle Zeit.

pDateTime
Ein Zeiger auf eine SYSTEMTIME-Struktur , die die aktuell ausgewählten Datumsinformationen empfängt. Dieser Parameter muss eine gültige Adresse sein und darf nicht NULL sein.

Rückgabewert

Bei Erfolg ungleich 0 (null). otherwize 0.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachrichten-MCM_GETCURSEL, wie im Windows SDK beschrieben.

Hinweis

Diese Memberfunktion schlägt fehl, wenn der Stil MCS_MULTISELECT festgelegt ist.

In der MFC-Implementierung von GetCurSelkönnen Sie eine COleDateTime Verwendung, eine CTime Verwendung oder eine SYSTEMTIME Strukturverwendung angeben.

CMonthCalCtrl::GetFirstDayOfWeek

Ruft den ersten Tag der Woche ab, der in der spalte ganz links im Kalender angezeigt werden soll.

int GetFirstDayOfWeek(BOOL* pbLocal = NULL) const;

Parameter

pbLocal
Ein Zeiger auf einen BOOL-Wert. Wenn der Wert ungleich 0 (null) ist, stimmt die Einstellung des Steuerelements nicht mit der Einstellung in der Systemsteuerung überein.

Rückgabewert

Ein ganzzahliger Wert, der den ersten Tag der Woche darstellt. Weitere Informationen dazu, was diese ganzen Zahlen darstellen, finden Sie unter Hinweise .

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachrichten-MCM_GETFIRSTDAYOFWEEK, wie im Windows SDK beschrieben. Die Wochentage werden wie folgt als ganze Zahlen dargestellt.

Wert Wochentag
0 Montag
1 Tuesday
2 Wednesday
3 Thursday
4 Freitag
5 Samstag
6 Sonntag

Beispiel

Sehen Sie sich das Beispiel für CMonthCalCtrl::SetFirstDayOfWeek an.

CMonthCalCtrl::GetMaxSelCount

Ruft die aktuelle maximale Anzahl von Tagen ab, die in einem Monatskalender-Steuerelement ausgewählt werden können.

int GetMaxSelCount() const;

Rückgabewert

Ein ganzzahliger Wert, der die Gesamtzahl der Tage darstellt, die für das Steuerelement ausgewählt werden können.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachrichten-MCM_GETMAXSELCOUNT, wie im Windows SDK beschrieben. Verwenden Sie diese Memberfunktion für Steuerelemente mit dem MCS_MULTISELECT Stilsatz.

Beispiel

Sehen Sie sich das Beispiel für CMonthCalCtrl::SetMaxSelCount an.

CMonthCalCtrl::GetMaxTodayWidth

Ruft die maximale Breite der Zeichenfolge "Today" für das Kalendersteuerelement des aktuellen Monats ab.

DWORD GetMaxTodayWidth() const;

Rückgabewert

Die Breite der Zeichenfolge "Today" in Pixel.

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrldie für den programmgesteuerten Zugriff auf das Monatskalender-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird die - GetMaxTodayWidth Methode veranschaulicht.

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

Hinweise

Der Benutzer kann zum aktuellen Datum zurückkehren, indem er auf die Zeichenfolge "Today" (Heute) klickt, die am unteren Rand des Monatskalender-Steuerelements angezeigt wird. Die Zeichenfolge "Today" enthält Bezeichnungstext und Datumstext.

Diese Methode sendet die MCM_GETMAXTODAYWIDTH Nachricht, die im Windows SDK beschrieben wird.

CMonthCalCtrl::GetMinReqRect

Ruft die mindest erforderliche Größe ab, um einen vollständigen Monat in einem Monatskalender-Steuerelement anzuzeigen.

BOOL GetMinReqRect(RECT* pRect) const;

Parameter

pRect
Ein Zeiger auf eine RECT-Struktur , die umgebende Rechteckinformationen empfängt. Dieser Parameter muss eine gültige Adresse sein und darf nicht NULL sein.

Rückgabewert

Bei Erfolg gibt diese Memberfunktion einen Wert ungleich 0 (null) zurück und lpRect empfängt die entsprechenden Begrenzungsinformationen. Wenn dies nicht erfolgreich ist, gibt die Memberfunktion 0 zurück.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachrichten-MCM_GETMINREQRECT, wie im Windows SDK beschrieben.

CMonthCalCtrl::GetMonthDelta

Ruft die Bildlaufrate für ein Monatskalender-Steuerelement ab.

int GetMonthDelta() const;

Rückgabewert

Die Bildlaufrate für das Monatskalender-Steuerelement. Die Bildlaufrate ist die Anzahl von Monaten, in denen das Steuerelement seine Anzeige verschiebt, wenn der Benutzer einmal auf eine Bildlaufschaltfläche klickt.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht MCM_GETMONTHDELTA, wie im Windows SDK beschrieben.

CMonthCalCtrl::GetMonthRange

Ruft Datumsinformationen ab, die die hohen und niedrigen Grenzwerte der Anzeige eines Monatskalender-Steuerelements darstellen.

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;

Parameter

refMinRange
Ein Verweis auf ein COleDateTime - oder CTime-Objekt , das das zulässige Mindestdatum enthält.

refMaxRange
Ein Verweis auf ein - oder CTime -COleDateTimeObjekt, das das maximal zulässige Datum enthält.

pMinRange
Ein Zeiger auf eine SYSTEMTIME-Struktur , die das Datum am untersten Ende des Bereichs enthält.

pMaxRange
Ein Zeiger auf eine -Struktur SYSTEMTIME , die das Datum am höchsten Ende des Bereichs enthält.

dwFlags
Wert, der den Bereich der abzurufenden Bereichsgrenzwerte an gibt. Dieser Wert muss einer der folgenden sein.

Wert Bedeutung
GMR_DAYSTATE Schließen Sie vorhergehende und nachgehende Monate des sichtbaren Bereichs ein, die nur teilweise angezeigt werden.
GMR_VISIBLE Schließen Sie nur die Monate ein, die vollständig angezeigt werden.

Rückgabewert

Eine ganze Zahl, die den Bereich in Monaten darstellt, der sich über die beiden Grenzwerte erstreckt, die von refMinRange und refMaxRange in der ersten und zweiten Version angegeben werden, oder pMinRange und pMaxRange in der dritten Version.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_GETMONTHRANGE, wie im Windows SDK beschrieben. In der MFC-Implementierung von GetMonthRangekönnen Sie die COleDateTime Verwendung, CTime eine Verwendung oder eine Strukturverwendung SYSTEMTIME angeben.

Beispiel

Weitere Informationen finden Sie im Beispiel für CMonthCalCtrl::SetDayState.

CMonthCalCtrl::GetRange

Ruft die aktuellen minimalen und maximalen Datumsangaben ab, die in einem Monatskalender-Steuerelement festgelegt sind.

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

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

DWORD GetRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Parameter

pMinRange
Ein Zeiger auf ein -Objekt COleDateTime , ein - CTime Objekt oder eine SYSTEMTIME-Struktur , der das Datum am untersten Ende des Bereichs enthält.

pMaxRange
Ein Zeiger auf ein -Objekt COleDateTime , ein - CTime Objekt oder eine SYSTEMTIME-Struktur , der das Datum am höchsten Ende des Bereichs enthält.

Rückgabewert

Ein DWORD, das null sein kann (es sind keine Grenzwerte festgelegt) oder eine Kombination der folgenden Werte, die Grenzwertinformationen angeben.

Wert Bedeutung
GDTR_MAX Für das Steuerelement wird ein maximaler Grenzwert festgelegt. pMaxRange ist gültig und enthält die entsprechenden Datumsinformationen.
GDTR_MIN Für das Steuerelement wird ein Mindestgrenzwert festgelegt. pMinRange ist gültig und enthält die entsprechenden Datumsinformationen.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_GETRANGE, wie im Windows SDK beschrieben. In der MFC-Implementierung von GetRangekönnen Sie eine COleDateTime Verwendung, eine CTime Verwendung oder eine Strukturverwendung SYSTEMTIME angeben.

Beispiel

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

Ruft Datumsinformationen ab, die die obere und untere Grenze des aktuell vom Benutzer ausgewählten Datumsbereichs darstellen.

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

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

BOOL GetSelRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Parameter

refMinRange
Ein Verweis auf ein COleDateTime- oderCTime-Objekt , das das zulässige Mindestdatum enthält.

refMaxRange
Ein Verweis auf ein - oder COleDateTime - CTime Objekt, das das maximal zulässige Datum enthält.

pMinRange
Ein Zeiger auf eine SYSTEMTIME-Struktur , die das Datum am untersten Ende des Bereichs enthält.

pMaxRange
Ein Zeiger auf eine -Struktur SYSTEMTIME , die das Datum am höchsten Ende des Bereichs enthält.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_GETSELRANGE, wie im Windows SDK beschrieben. GetSelRange führt zu einem Fehler, wenn es auf ein Monatskalender-Steuerelement angewendet wird, das nicht den MCS_MULTISELECT verwendet.

In der MFC-Implementierung von GetSelRangekönnen Sie die COleDateTime Verwendung, CTime eine Verwendung oder eine Strukturverwendung SYSTEMTIME angeben.

CMonthCalCtrl::GetToday

Ruft die Datumsinformationen für das Datum ab, das für ein Monatskalender-Steuerelement als "today" angegeben ist.

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

BOOL GetToday(LPSYSTEMTIME pDateTime) const;

Parameter

refDateTime
Ein Verweis auf ein COleDateTime- oderCTime-Objekt , das den aktuellen Tag angibt.

pDateTime
Ein Zeiger auf eine SYSTEMTIME-Struktur , die die Datumsinformationen erhält. Dieser Parameter muss eine gültige Adresse sein und darf nicht NULL sein.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_GETTODAY, wie im Windows SDK beschrieben. In der MFC-Implementierung von GetTodaykönnen Sie eine COleDateTime Verwendung, eine CTime Verwendung oder eine Strukturverwendung SYSTEMTIME angeben.

Beispiel

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

Bestimmt, welches Monatskalender-Steuerelement sich an einer angegebenen Position befindet, sofern es sich an einem beliebigen Wert befindet.

DWORD HitTest(PMCHITTESTINFO pMCHitTest);

Parameter

pMCHitTest
Ein Zeiger auf eine MCHITTESTINFO-Struktur , die Treffertestpunkte für das Monatskalender-Steuerelement enthält.

Rückgabewert

Ein DWORD-Wert. Entspricht dem uHit-Member der - MCHITTESTINFO Struktur.

Hinweise

HitTest verwendet die MCHITTESTINFO -Struktur, die Informationen zum Treffertest enthält.

CMonthCalCtrl::IsCenturyView

Gibt an, ob die aktuelle Ansicht des aktuellen Monatskalender-Steuerelements die Hunderteransicht ist.

BOOL IsCenturyView() const;

Rückgabewert

TRUE, wenn die aktuelle Ansicht die Hunderteransicht ist; andernfalls FALSE.

Hinweise

Diese Methode sendet die MCM_GETCURRENTVIEW-Nachricht, die im Windows SDK beschrieben wird. Wenn diese Nachricht einen MCMV_CENTURY zurückgibt, gibt diese Methode TRUE zurück.

CMonthCalCtrl::IsDecadeView

Gibt an, ob die aktuelle Ansicht des aktuellen Monatskalender-Steuerelements die Zehnz1-Ansicht ist.

BOOL IsDecadeView() const;

Rückgabewert

TRUE, wenn es sich bei der aktuellen Ansicht um die Ansicht "10 Jahre" handelt. andernfalls FALSE.

Hinweise

Diese Methode sendet die MCM_GETCURRENTVIEW-Nachricht, die im Windows SDK beschrieben wird. Wenn diese Nachricht einen MCMV_DECADE zurückgibt, gibt diese Methode TRUE zurück.

CMonthCalCtrl::IsMonthView

Gibt an, ob die aktuelle Ansicht des aktuellen Monatskalender-Steuerelements die Monatsansicht ist.

BOOL IsMonthView() const;

Rückgabewert

TRUE, wenn die aktuelle Ansicht die Monatsansicht ist; andernfalls FALSE.

Hinweise

Diese Methode sendet die MCM_GETCURRENTVIEW-Nachricht, die im Windows SDK beschrieben wird. Wenn diese Nachricht einen MCMV_MONTH zurückgibt, gibt diese Methode TRUE zurück.

CMonthCalCtrl::IsYearView

Gibt an, ob die aktuelle Ansicht des aktuellen Monatskalender-Steuerelements die Jahresansicht ist.

BOOL IsYearView() const;

Rückgabewert

TRUE, wenn die aktuelle Ansicht die Jahresansicht ist; andernfalls FALSE.

Hinweise

Diese Methode sendet die MCM_GETCURRENTVIEW-Nachricht, die im Windows SDK beschrieben wird. Wenn diese Nachricht einen MCMV_YEAR zurückgibt, gibt diese Methode TRUE zurück.

CMonthCalCtrl::SetCalendarBorder

Legt die Breite des Rahmens des Aktuellen Monatskalender-Steuerelements fest.

void SetCalendarBorder(int cxyBorder);

Parameter

cxyBorder
[in] Die Breite des Rahmens in Pixel.

Hinweise

Wenn diese Methode erfolgreich ist, wird die Rahmenbreite auf den cxyBorder-Parameter festgelegt. Andernfalls wird die Rahmenbreite auf den Standardwert zurückgesetzt, der vom aktuellen Design angegeben wird, oder null, wenn keine Designs verwendet werden.

Diese Methode sendet die MCM_SETCALENDARBORDER-Nachricht, die im Windows SDK beschrieben wird.

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrl, die für den programmgesteuerten Zugriff auf das Monatskalender-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird die Rahmenbreite des Monatskalender-Steuerelements auf acht Pixel festgelegt. Verwenden Sie die CMonthCalCtrl::GetCalendarBorder-Methode , um zu bestimmen, ob diese Methode erfolgreich war.

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

CMonthCalCtrl::SetCalendarBorderDefault

Legt die Standardbreite des Rahmens des Aktuellen Monatskalender-Steuerelements fest.

void SetCalendarBorderDefault();

Hinweise

Die Rahmenbreite wird auf den standardwert festgelegt, der vom aktuellen Design angegeben wird, oder 0 (null), wenn keine Designs verwendet werden.

Diese Methode sendet die MCM_SETCALENDARBORDER-Nachricht, die im Windows SDK beschrieben wird.

CMonthCalCtrl::SetCalID

Legt den Kalenderbezeichner für das Kalendersteuerzeichen für den aktuellen Monat fest.

BOOL SetCalID(CALID calid);

Parameter

calid
[in] Eine der Kalenderbezeichnerkonst constants.

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Ein Kalenderbezeichner gibt einen regionalen Kalender an, z. B. den gregorianischen (lokalisierten), japanischen oder Hijri-Kalender. Verwenden Sie die SetCalID -Methode, um einen Kalender anzuzeigen, der durch den kalibrierten Parameter angegeben wird, wenn das Locale, das den Kalender enthält, auf Ihrem Computer installiert ist.

Diese Methode sendet die MCM_SETCALID, die im sdk beschrieben Windows wird.

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrl, die für den programmgesteuerten Zugriff auf das Monatskalender-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird das Monatskalender-Steuerelement so definiert, dass der Kalender der japanischen Japanischen Zeit angezeigt wird. Die SetCalID -Methode ist nur erfolgreich, wenn dieser Kalender auf Ihrem Computer installiert ist.

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

Legt das Aktuelle Monatskalender-Steuerelement fest, um die Hunderteransicht anzuzeigen.

BOOL SetCenturyView();

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Diese Methode verwendet die CMonthCalCtrl::SetCurrentView-MethodeMCMV_CENTURY, um die Ansicht auf zu setzen, die die Hunderteransicht darstellt.

CMonthCalCtrl::SetColor

Legt die Farbe eines angegebenen Bereichs eines Monatskalender-Steuerelements fest.

COLORREF SetColor(
    int nRegion,
    COLORREF ref);

Parameter

nRegion
Ein ganzzahliger Wert, der angibt, welche Monatskalenderfarbe festgelegt werden soll. Dieser Wert kann einer der folgenden sein.

Wert Bedeutung
MCSC_BACKGROUND Die Hintergrundfarbe, die zwischen Monaten angezeigt wird.
MCSC_MONTHBK Die im Monat angezeigte Hintergrundfarbe.
MCSC_TEXT Die Farbe, die zum Anzeigen von Text innerhalb eines Monats verwendet wird.
MCSC_TITLEBK Die Hintergrundfarbe, die im Titel des Kalenders angezeigt wird.
MCSC_TITLETEXT Die Farbe, die zum Anzeigen von Text im Titel des Kalenders verwendet wird.
MCSC_TRAILINGTEXT Die Farbe, die zum Anzeigen von Kopf- und Nachtagtext verwendet wird. Header und nachfolgende Tage sind die Tage aus den vorherigen und folgenden Monaten, die im aktuellen Kalender angezeigt werden.

ref
Ein COLORREF-Wert für die neue Farbeinstellung für den angegebenen Teil des Monatskalender-Steuerelements.

Rückgabewert

Ein COLORREF-Wert, der die vorherige Farbeinstellung für den angegebenen Teil des Monatskalender-Steuerelements darstellt, sofern erfolgreich. Andernfalls gibt diese Meldung -1 zurück.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_SETCOLOR, wie im Windows SDK beschrieben.

Beispiel

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

Legt das Aktuelle Monatskalender-Steuerelement so fest, dass die angegebene Ansicht angezeigt wird.

BOOL SetCurrentView(DWORD dwNewView);

Parameter

dwNewView
[in] Einer der folgenden Werte, der eine Monats-, Jahres-, Zehnz- oder Hunderteransicht angibt.

  • MCMV_MONTH: Monatsansicht
  • MCMV_YEAR: Jahresansicht
  • MCMV_DECADE: Ansicht "100 Jahre"
  • MCMV_CENTURY: Century-Ansicht

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Diese Methode sendet die MCM_SETCURRENTVIEW-Nachricht, die im Windows SDK beschrieben wird.

CMonthCalCtrl::SetCurSel

Legt das aktuell ausgewählte Datum für ein Monatskalender-Steuerelement fest.

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

Parameter

refDateTime
Ein Verweis auf ein COleDateTime- oder CTime-Objekt , das das aktuell ausgewählte Monatskalender-Steuerelement angibt.

pDateTime
Zeiger auf eine SYSTEMTIME-Struktur , die das Datum enthält, das als aktuelle Auswahl festgelegt werden soll.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_SETCURSEL, wie im Windows SDK beschrieben. In der MFC-Implementierung von SetCurSelkönnen Sie eine COleDateTime Verwendung, eine CTime Verwendung oder eine Strukturverwendung SYSTEMTIME angeben.

Beispiel

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

Legt die Anzeige für Tage in einem Monatskalender-Steuerelement fest.

BOOL SetDayState(
    int nMonths,
    LPMONTHDAYSTATE pStates);

Parameter

nMonths
Wert, der angibt, wie viele Elemente sich im Array befinden, auf das pStates zeigt.

pStates
Ein Zeiger auf ein MONTHDAYSTATE-Array von Werten, die definieren, wie das Monatskalender-Steuerelement jeden Tag in seiner Anzeige ge zeichnen wird. Der MONTHDAYSTATE-Datentyp ist ein Bitfeld, wobei jedes Bit (1 bis 31) den Zustand eines Tages in einem Monat darstellt. Wenn ein Bit ein on ist, wird der entsprechende Tag fett angezeigt. Andernfalls wird sie ohne Hervorhebung angezeigt.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_SETDAYSTATE, wie im Windows SDK beschrieben.

Beispiel

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

Legt das Aktuelle Monatskalender-Steuerelement auf die Ansicht "Zehn Jahre" fest.

BOOL SetDecadeView();

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Diese Methode verwendet die CMonthCalCtrl::SetCurrentView-MethodeMCMV_DECADE, um die Ansicht auf zu setzen, die die Ansicht des 10.000.000 Darstellt.

CMonthCalCtrl::SetFirstDayOfWeek

Legt den Wochentag fest, der in der spalte ganz links im Kalender angezeigt werden soll.

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

Parameter

Iday
Ein ganzzahliger Wert, der angibt, welcher Tag als erster Tag der Woche festgelegt werden soll. Dieser Wert muss eine der Tageszahlen sein. Eine Beschreibung der Tageszahlen finden Sie unter GetFirstDayOfWeek .

lpnOld
Ein Zeiger auf eine ganze Zahl, die den ersten Tag der Woche angibt, die zuvor festgelegt wurde.

Rückgabewert

Ungleich null, wenn der vorherige erste Tag der Woche auf einen anderen Wert als LOCALE_IFIRSTDAYOFWEEK festgelegt ist. Dies ist der in der Systemsteuerungseinstellung angegebene Tag. Andernfalls gibt diese Funktion 0 zurück.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_SETFIRSTDAYOFWEEK, wie im Windows SDK beschrieben.

Beispiel

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

Legt die maximale Anzahl von Tagen fest, die in einem Monatskalender-Steuerelement ausgewählt werden können.

BOOL SetMaxSelCount(int nMax);

Parameter

nMax
Der Wert, der auf die maximale Anzahl von auswählbaren Tagen festgelegt wird.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_SETMAXSELCOUNT, wie im Windows SDK beschrieben.

Beispiel

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

Legt die Bildlaufrate für ein Monatskalender-Steuerelement fest.

int SetMonthDelta(int iDelta);

Parameter

iDelta
Die Anzahl der Monate, die als Bildlaufrate des Steuerelements festgelegt werden sollen. Wenn dieser Wert 0 (null) ist, wird das Monatsdelta auf den Standardwert zurückgesetzt. Dies ist die Anzahl der Monate, die im Steuerelement angezeigt werden.

Rückgabewert

Die vorherige Bildlaufrate. Wenn die Bildlaufrate noch nicht festgelegt wurde, ist der Rückgabewert 0.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_SETMONTHDELTA, wie im Windows SDK beschrieben.

CMonthCalCtrl::SetMonthView

Legt das Aktuelle Monatskalender-Steuerelement fest, um die Monatsansicht anzuzeigen.

BOOL SetMonthView();

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Diese Methode verwendet die CMonthCalCtrl::SetCurrentView-Methode , um die Ansicht auf MCMV_MONTH, die die Monatsansicht darstellt.

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrl, die für den programmgesteuerten Zugriff auf das Monatskalender-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.

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

Im nächsten Codebeispiel wird das Monatskalender-Steuerelement so definiert, dass die Ansichten Monat, Jahr, Zehnz und Hundert angezeigt werden.

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

Legt die minimalen und maximalen zulässigen Datumsangaben für ein Monatskalender-Steuerelement fest.

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

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

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

Parameter

pMinRange
Ein Zeiger auf ein -Objekt COleDateTime , ein - CTime Objekt oder eine SYSTEMTIME-Struktur , der das Datum am untersten Ende des Bereichs enthält.

pMaxRange
Ein Zeiger auf ein -Objekt COleDateTime , ein - CTime Objekt oder eine -Struktur, SYSTEMTIME das bzw. die das Datum am höchsten Ende des Bereichs enthält.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_SETRANGE, wie im Windows SDK beschrieben. In der MFC-Implementierung von SetRangekönnen Sie die COleDateTime Verwendung, CTime eine Verwendung oder eine Strukturverwendung SYSTEMTIME angeben.

Beispiel

Weitere Informationen finden Sie im Beispiel für CMonthCalCtrl::GetRange.

CMonthCalCtrl::SetSelRange

Legt die Auswahl für ein Monatskalender-Steuerelement auf einen angegebenen Datumsbereich fest.

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

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

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

Parameter

pMinRange
Ein Zeiger auf ein -Objekt COleDateTime , ein - CTime Objekt oder eine SYSTEMTIME-Struktur , der das Datum am untersten Ende des Bereichs enthält.

pMaxRange
Ein Zeiger auf ein -Objekt COleDateTime , ein - CTime Objekt oder eine -Struktur, SYSTEMTIME das bzw. die das Datum am höchsten Ende des Bereichs enthält.

Rückgabewert

Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-MCM_SETSELRANGE, wie im Windows SDK beschrieben. In der MFC-Implementierung von SetSelRangekönnen Sie die COleDateTime Verwendung, CTime eine Verwendung oder eine Strukturverwendung SYSTEMTIME angeben.

CMonthCalCtrl::SetToday

Legt das Kalendersteuerblatt für den aktuellen Tag fest.

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

Parameter

refDateTime
Ein Verweis auf ein COleDateTime-Objekt , das das aktuelle Datum enthält.

pDateTime
In der zweiten Version ein Zeiger auf ein CTime-Objekt , das die aktuellen Datumsinformationen enthält. In der dritten Version ein Zeiger auf eine SYSTEMTIME-Struktur , die die aktuellen Datumsinformationen enthält.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachrichten-MCM_SETTODAY, wie im Windows SDK beschrieben.

Beispiel

Sehen Sie sich das Beispiel für CMonthCalCtrl::GetToday an.

CMonthCalCtrl::SetYearView

Legt das Kalendersteuerelement für den aktuellen Monat auf die Jahresansicht fest.

BOOL SetYearView();

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Diese Methode verwendet die CMonthCalCtrl::SetCurrentView-Methode , um die Sicht auf MCMV_YEAR festzulegen, die die jährliche Ansicht darstellt.

CMonthCalCtrl::SizeMinReq

Zeigt das Monatskalender-Steuerelement auf die Mindestgröße an, die einen Monat anzeigt.

BOOL SizeMinReq(BOOL bRepaint = TRUE);

Parameter

bRepaint
Gibt an, ob das Steuerelement neu zeichnet werden soll. Standardmäßig TRUE. False gibt an, dass keine neu maling erfolgt.

Rückgabewert

Ungleich 0 (null), wenn das Monatskalender-Steuerelement auf sein Minimum angepasst ist. andernfalls 0.

Hinweise

Beim erfolgreichen Aufrufen SizeMinReq von wird das gesamte Monatskalender-Steuerelement für den Kalender eines Monats angezeigt.

CMonthCalCtrl::SizeRectToMin

Berechnet für das Kalendersteuerelement des aktuellen Monats das kleinste Rechteck, das alle Kalender enthalten kann, die in ein angegebenes Rechteck passen.

LPRECT SizeRectToMin(LPRECT lpRect);

Parameter

lpRect
[in] Zeiger auf eine RECT-Struktur , die ein Rechteck definiert, das die gewünschte Anzahl von Kalendern enthält.

Rückgabewert

Zeiger auf eine RECT-Struktur , die ein Rechteck definiert, dessen Größe kleiner oder gleich dem durch den lpRect-Parameter definierten Rechteck ist.

Hinweise

Diese Methode berechnet, wie viele Kalender in das durch den lpRect-Parameter angegebene Rechteck passen können, und gibt dann das kleinste Rechteck zurück, das diese Anzahl von Kalendern enthalten kann. Tatsächlich verkleinert diese Methode das angegebene Rechteck so, dass es genau der gewünschten Anzahl von Kalendern entspricht.

Diese Methode sendet die MCM_SIZERECTTOMIN Nachricht, die im Windows SDK beschrieben wird.

Weitere Informationen

MFC-Beispiel CMNCTRL1
CWnd-Klasse
Hierarchiediagramm
CDateTimeCtrl-Klasse