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 Monatskalendersteuerelement und fügt es an das CMonthCalCtrl Objekt an.
CMonthCalCtrl::GetCalendarBorder Ruft die Breite des Rahmens des aktuellen Monatskalendersteuerelements ab.
CMonthCalCtrl::GetCalendarCount Ruft die Anzahl der Kalender ab, die im aktuellen Monatskalendersteuerelement angezeigt werden.
CMonthCalCtrl::GetCalendarGridInfo Ruft Informationen zum aktuellen Monatskalendersteuerelement ab.
CMonthCalCtrl::GetCalID Ruft den Kalenderbezeichner für das aktuelle Monatskalendersteuerelement ab.
CMonthCalCtrl::GetColor Ruft die Farbe eines angegebenen Bereichs eines Monatskalendersteuerelements ab.
CMonthCalCtrl::GetCurrentView Ruft die Ansicht ab, die derzeit vom Steuerelement für den aktuellen Monatskalender 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 linken Spalte des Kalenders angezeigt werden soll.
CMonthCalCtrl::GetMaxSelCount Ruft die aktuelle maximale Anzahl von Tagen ab, die in einem Monatskalendersteuerelement ausgewählt werden können.
CMonthCalCtrl::GetMaxTodayWidth Ruft die maximale Breite der Zeichenfolge "Heute" für das aktuelle Monatskalendersteuerelement ab.
CMonthCalCtrl::GetMinReqRect Ruft die Mindestgröße ab, die zum Anzeigen eines vollständigen Monats in einem Monatskalendersteuerelement erforderlich ist.
CMonthCalCtrl::GetMonthDelta Ruft die Bildlaufrate für ein Monatskalendersteuerelement ab.
CMonthCalCtrl::GetMonthRange Ruft Datumsinformationen ab, die die hohen und niedrigen Grenzwerte für die Anzeige eines Monatskalendersteuerelements darstellen.
CMonthCalCtrl::GetRange Ruft die aktuellen Mindest- und Höchstdaten ab, die in einem Monatskalendersteuerelement festgelegt sind.
CMonthCalCtrl::GetSelRange Ruft Datumsinformationen ab, die die oberen und unteren Grenzwerte des aktuell vom Benutzer ausgewählten Datumsbereichs darstellen.
CMonthCalCtrl::GetToday Ruft die Datumsinformationen für das als "heute" angegebene Datum für ein Monatskalendersteuerelement ab.
CMonthCalCtrl::HitTest Bestimmt, welcher Abschnitt eines Monatskalendersteuerelements sich an einem bestimmten Punkt auf dem Bildschirm befindet.
CMonthCalCtrl::IsCenturyView Gibt an, ob die aktuelle Ansicht des aktuellen Monatskalendersteuerelements die Jahrhundertansicht ist.
CMonthCalCtrl::IsDecadeView Gibt an, ob die aktuelle Ansicht des Steuerelements für den aktuellen Monatskalender die 10-10-Ansicht ist.
CMonthCalCtrl::IsMonthView Gibt an, ob die aktuelle Ansicht des aktuellen Monatskalendersteuerelements die Monatsansicht ist.
CMonthCalCtrl::IsYearView Gibt an, ob die aktuelle Ansicht des Aktuellen Monatskalendersteuerelements die Jahresansicht ist.
CMonthCalCtrl::SetCalendarBorder Legt die Breite des Rahmens des aktuellen Monatskalendersteuerelements fest.
CMonthCalCtrl::SetCalendarBorderDefault Legt die Standardbreite des Rahmens des aktuellen Monatskalendersteuerelements fest.
CMonthCalCtrl::SetCalID Legt den Kalenderbezeichner für das aktuelle Monatskalendersteuerelement fest.
CMonthCalCtrl::SetCenturyView Legt das aktuelle Monatskalendersteuerelement fest, um die Ansicht des Jahrhunderts anzuzeigen.
CMonthCalCtrl::SetColor Legt die Farbe eines angegebenen Bereichs eines Monatskalendersteuerelements fest.
CMonthCalCtrl::SetCurrentView Legt das aktuelle Monatskalendersteuerelement fest, um die angegebene Ansicht anzuzeigen.
CMonthCalCtrl::SetCurSel Legt das aktuell ausgewählte Datum für ein Monatskalendersteuerelement fest.
CMonthCalCtrl::SetDayState Legt die Anzeige für Tage in einem Monatskalendersteuerelement fest.
CMonthCalCtrl::SetDecadeView Legt das steuerelement für den aktuellen Monatskalender auf die 10-Jahre-Ansicht fest.
CMonthCalCtrl::SetFirstDayOfWeek Legt den Wochentag fest, der in der spalte ganz links des Kalenders angezeigt werden soll.
CMonthCalCtrl::SetMaxSelCount Legt die maximale Anzahl von Tagen fest, die in einem Monatskalendersteuerelement ausgewählt werden können.
CMonthCalCtrl::SetMonthDelta Legt die Bildlaufrate für ein Monatskalendersteuerelement fest.
CMonthCalCtrl::SetMonthView Legt das aktuelle Monatskalendersteuerelement fest, um die Monatsansicht anzuzeigen.
CMonthCalCtrl::SetRange Legt die Mindest- und maximal zulässigen Datumsangaben für ein Monatskalendersteuerelement fest.
CMonthCalCtrl::SetSelRange Legt die Auswahl für ein Monatskalendersteuerelement auf einen bestimmten Datumsbereich fest.
CMonthCalCtrl::SetToday Legt das Kalendersteuerelement für den aktuellen Tag fest.
CMonthCalCtrl::SetYearView Legt das steuerelement für den aktuellen Monatskalender auf die Jahresansicht fest.
CMonthCalCtrl::SizeMinReq Überschreibt das Monatskalendersteuerelement auf die minimale Größe eines Monats.
CMonthCalCtrl::SizeRectToMin Berechnet für das aktuelle Monatskalendersteuerelement das kleinste Rechteck, das alle Kalender enthalten kann, die in ein bestimmtes Rechteck passen.

Hinweise

Das Monatskalendersteuerelement bietet dem Benutzer eine einfache Kalenderoberfläche, über die der Benutzer ein Datum auswählen kann. Der Benutzer kann die Anzeige wie folgt ändern:

  • Scrollen nach hinten und vorwärts, von Monat zu Monat.

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

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

Sie können das Monatskalendersteuerelement anpassen, indem Sie beim Erstellen eine Vielzahl von Formatvorlagen auf das Objekt anwenden. Diese Formatvorlagen werden im Windows SDK in den Formatvorlagen des Monatskalendersteuerelements beschrieben.

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

Weitere Informationen zur Verwendung des Monatskalendersteuerelements 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 Monatskalendersteuerelement 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-Stilen an, die auf das Monatskalendersteuerelement angewendet werden. Weitere Informationen zu den Formatvorlagen für Monatskalender finden Sie im Windows SDK.

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

pt
Ein Verweis auf eine POINT-Struktur , die die Position des Monatskalendersteuerelements identifiziert.

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

Nid
Gibt die Steuerelement-ID des Monatskalendersteuerelements an.

Rückgabewert

Nonzero, wenn die Initialisierung erfolgreich war; andernfalls 0.

Hinweise

Erstellen eines Monatskalendersteuerelements in zwei Schritten:

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

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

Beim Aufrufen Createwerden die allgemeinen Steuerelemente initialisiert. Die Von Ihnen aufgerufene Version Create bestimmt, wie sie angepasst wird:

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

  • Rufen Sie zum Anpassen des Steuerelements die Außerkraftsetzung 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 aktuellen Monatskalendersteuerelements 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 aktuellen Monatskalendersteuerelement angezeigt werden.

int GetCalendarCount() const;

Rückgabewert

Die Anzahl der Kalender, die derzeit im Monatskalendersteuerelement 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 aktuellen Monatskalendersteuerelement ab.

BOOL GetCalendarGridInfo(PMCGRIDINFO pmcGridInfo) const;

Parameter

pmcGridInfo
[out] Zeiger auf eine MCGRIDINFO-Struktur , die Informationen zum aktuellen Monatskalendersteuerelement 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 Monatskalendersteuerelement 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 Monatskalendersteuerelement 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 aktuelle Monatskalendersteuerelement ab.

CALID GetCalID() const;

Rückgabewert

Eine der Kalenderbezeichnerkonstanten .

Hinweise

Ein Kalenderbezeichner zeigt 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 Monatskalendersteuerelements ab, das durch "nRegion" angegeben ist.

COLORREF GetColor(int nRegion) const;

Parameter

nRegion
Der Bereich des Monatskalendersteuerelements, 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 Monatskalendersteuerelements zugeordnet ist, wenn dies erfolgreich ist. Andernfalls gibt diese Memberfunktion -1 zurück.

CMonthCalCtrl::GetCurrentView

Ruft die Ansicht ab, die derzeit vom Steuerelement für den aktuellen Monatskalender angezeigt wird.

DWORD GetCurrentView() const;

Rückgabewert

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

Wert Bedeutung
MCMV_MONTH Monatliche Ansicht
MCMV_YEAR Jahresansicht
MCMV_DECADE 100-Ansicht
MCMV_CENTURY Jahrhundertansicht

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 Monatskalendersteuerelement 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 berichtet, welche Anzeige des Monatskalendersteuerelements zurzeit 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 Uhrzeit.

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

Nonzero bei erfolgreicher Ausführung; otherwize 0.

Hinweise

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

Hinweis

Diese Memberfunktion schlägt fehl, wenn die Formatvorlage MCS_MULTISELECT festgelegt ist.

In der Implementierung von GetCurSelMFC kö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 linken Spalte des Kalenders angezeigt werden soll.

int GetFirstDayOfWeek(BOOL* pbLocal = NULL) const;

Parameter

pbLocal
Ein Zeiger auf einen BOOL-Wert. Wenn der Wert ungleich 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 in den Hinweisen .

Hinweise

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

Wert Wochentag
0 Montag
1 Dienstag
2 Mittwoch
3 Donnerstag
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 Monatskalendersteuerelement 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-Nachricht MCM_GETMAXSELCOUNT, wie im Windows SDK beschrieben. Verwenden Sie diese Memberfunktion für Steuerelemente mit dem MCS_MULTISELECT Formatvorlagensatz.

Beispiel

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

CMonthCalCtrl::GetMaxTodayWidth

Ruft die maximale Breite der Zeichenfolge "Heute" für das aktuelle Monatskalendersteuerelement ab.

DWORD GetMaxTodayWidth() const;

Rückgabewert

Die Breite der Zeichenfolge "Heute" in Pixeln.

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrldie für den programmgesteuerten Zugriff auf das Monatskalendersteuerelement 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 "Heute" klickt, die unten im Monatskalendersteuerelement angezeigt wird. Die Zeichenfolge "Heute" enthält Beschriftungstext und Datumstext.

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

CMonthCalCtrl::GetMinReqRect

Ruft die Mindestgröße ab, die zum Anzeigen eines vollständigen Monats in einem Monatskalendersteuerelement erforderlich ist.

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 erfolgreicher Ausführung gibt diese Memberfunktion "nonzero" zurück und lpRect empfängt die entsprechenden Begrenzungsinformationen. Wenn die Memberfunktion nicht erfolgreich ist, wird 0 zurückgegeben.

Hinweise

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

CMonthCalCtrl::GetMonthDelta

Ruft die Bildlaufrate für ein Monatskalendersteuerelement ab.

int GetMonthDelta() const;

Rückgabewert

Die Bildlaufrate für das Monatskalendersteuerelement. Die Bildlaufrate ist die Anzahl der Monate, die 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 für die Anzeige eines Monatskalendersteuerelements 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 mit dem zulässigen Mindestdatum.

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

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

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

dwFlags
Wert, der den Bereichsgrenzwert angibt, der abgerufen werden soll. Dieser Wert muss einer der folgenden Werte sein:

Wert Bedeutung
GMR_DAYSTATE Schließen Sie vorhergehende und nachfolgende 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 über die beiden Grenzwerte erstreckt, die durch refMinRange und refMaxRange in der ersten und zweiten Version angegeben sind, oder pMinRange und pMaxRange in der dritten Version.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht MCM_GETMONTHRANGE, wie im Windows SDK beschrieben. In der Implementierung von GetMonthRangeMFC können Sie die Verwendung, eine CTime Verwendung oder eine SYSTEMTIME Strukturverwendung angebenCOleDateTime.

Beispiel

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

CMonthCalCtrl::GetRange

Ruft die aktuellen Mindest- und Höchstdaten ab, die in einem Monatskalendersteuerelement 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 COleDateTime Objekt, ein Objekt oder eine CTime SYSTEMTIME-Struktur, die das Datum am niedrigsten Ende des Bereichs enthält.

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

Rückgabewert

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

Wert Bedeutung
GDTR_MAX Für das Steuerelement wird ein Höchstgrenzwert festgelegt; pMaxRange ist gültig und enthält die anwendbaren Datumsinformationen.
GDTR_MIN Für das Steuerelement wird ein Mindestgrenzwert festgelegt; pMinRange ist gültig und enthält die zutreffenden Datumsinformationen.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht MCM_GETRANGE, wie im Windows SDK beschrieben. In der Implementierung von GetRangeMFC können Sie eine COleDateTime Verwendung, eine CTime Verwendung oder eine SYSTEMTIME Strukturverwendung 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 oberen und unteren Grenzwerte 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 - oder CTime-Objekt mit dem zulässigen Mindestdatum.

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

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

pMaxRange
Ein Zeiger auf eine SYSTEMTIME Struktur, 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-Nachricht MCM_GETSELRANGE, wie im Windows SDK beschrieben. GetSelRange schlägt fehl, wenn es auf ein Monatskalendersteuerelement angewendet wird, das nicht die MCS_MULTISELECT Formatvorlage verwendet.

In der Implementierung von GetSelRangeMFC können Sie die Verwendung, eine CTime Verwendung oder eine SYSTEMTIME Strukturverwendung angebenCOleDateTime.

CMonthCalCtrl::GetToday

Ruft die Datumsinformationen für das als "heute" angegebene Datum für ein Monatskalendersteuerelement ab.

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

BOOL GetToday(LPSYSTEMTIME pDateTime) const;

Parameter

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

pDateTime
Ein Zeiger auf eine SYSTEMTIME-Struktur , die die Datumsinformationen empfängt. 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-Nachricht MCM_GETTODAY, wie im Windows SDK beschrieben. In der Implementierung von GetTodayMFC können Sie eine COleDateTime Verwendung, eine CTime Verwendung oder eine SYSTEMTIME Strukturverwendung 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 Monatskalendersteuerelement (falls vorhanden) an einer angegebenen Position liegt.

DWORD HitTest(PMCHITTESTINFO pMCHitTest);

Parameter

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

Rückgabewert

Ein DWORD-Wert. Entspricht dem uHit-Element 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 Monatskalendersteuerelements die Jahrhundertansicht ist.

BOOL IsCenturyView() const;

Rückgabewert

TRUE, wenn die aktuelle Ansicht die Ansicht des Jahrhunderts ist; andernfalls FALSE.

Hinweise

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

CMonthCalCtrl::IsDecadeView

Gibt an, ob die aktuelle Ansicht des Steuerelements für den aktuellen Monatskalender die 10-10-Ansicht ist.

BOOL IsDecadeView() const;

Rückgabewert

TRUE, wenn die aktuelle Ansicht die Zehn-Jahre-Ansicht ist; andernfalls FALSE.

Hinweise

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

CMonthCalCtrl::IsMonthView

Gibt an, ob die aktuelle Ansicht des aktuellen Monatskalendersteuerelements 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 MCMV_MONTH zurückgibt, gibt diese Methode WAHR zurück.

CMonthCalCtrl::IsYearView

Gibt an, ob die aktuelle Ansicht des Aktuellen Monatskalendersteuerelements 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 MCMV_YEAR zurückgibt, gibt diese Methode WAHR zurück.

CMonthCalCtrl::SetCalendarBorder

Legt die Breite des Rahmens des aktuellen Monatskalendersteuerelements fest.

void SetCalendarBorder(int cxyBorder);

Parameter

cxyBorder
[in] Die Breite des Rahmens in Pixeln.

Hinweise

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

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

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrldie für den programmgesteuerten Zugriff auf das Monatskalendersteuerelement 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 Monatskalendersteuerelements 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 Monatskalendersteuerelements fest.

void SetCalendarBorderDefault();

Hinweise

Die Rahmenbreite wird auf den Standardwert festgelegt, der durch das aktuelle Design angegeben wird, oder null, wenn Designs nicht verwendet werden.

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

CMonthCalCtrl::SetCalID

Legt den Kalenderbezeichner für das aktuelle Monatskalendersteuerelement fest.

BOOL SetCalID(CALID calid);

Parameter

calid
[in] Eine der Kalenderbezeichnerkonstanten .

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

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

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

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrldie für den programmgesteuerten Zugriff auf das Monatskalendersteuerelement 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 Monatskalendersteuerelement so festgelegt, dass der japanische Kaiserzeitkalender 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 Monatskalendersteuerelement fest, um die Ansicht des Jahrhunderts anzuzeigen.

BOOL SetCenturyView();

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Diese Methode verwendet die CMonthCalCtrl::SetCurrentView-Methode , um die Ansicht auf festzulegen MCMV_CENTURY, die die Jahrhundertansicht darstellt.

CMonthCalCtrl::SetColor

Legt die Farbe eines angegebenen Bereichs eines Monatskalendersteuerelements fest.

COLORREF SetColor(
    int nRegion,
    COLORREF ref);

Parameter

nRegion
Ein ganzzahliger Wert, der angibt, welche Monatskalenderfarbe festgelegt werden soll. Dieser Wert kann eine der folgenden Sein:

Wert Bedeutung
MCSC_BACKGROUND Die Hintergrundfarbe, die zwischen Monaten angezeigt wird.
MCSC_MONTHBK Die Hintergrundfarbe, die innerhalb des Monats angezeigt wird.
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 Kopfzeilen- und nachgestellten Tag-Text verwendet wird. Kopfzeilen- und nachgestellte 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 Monatskalendersteuerelements.

Rückgabewert

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

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachrichten-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 Monatskalendersteuerelement fest, um die angegebene Ansicht anzuzeigen.

BOOL SetCurrentView(DWORD dwNewView);

Parameter

dwNewView
[in] Einer der folgenden Werte, der eine monatliche, jährliche, zehnjährige oder Jahrhundertansicht angibt.

  • MCMV_MONTH: Monatliche Ansicht
  • MCMV_YEAR: Jahresansicht
  • MCMV_DECADE: 10-Jahre-Ansicht
  • MCMV_CENTURY: Jahrhundertansicht

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 Monatskalendersteuerelement 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 Monatskalendersteuerelement 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-Nachrichten-MCM_SETCURSEL, wie im Windows SDK beschrieben. In der Implementierung von SetCurSelMFC können Sie eine COleDateTime Verwendung, eine CTime Verwendung oder eine SYSTEMTIME Strukturverwendung 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 Monatskalendersteuerelement fest.

BOOL SetDayState(
    int nMonths,
    LPMONTHDAYSTATE pStates);

Parameter

nMonths
Wert, der angibt, wie viele Elemente im Array vorhanden sind, auf das pStates verweist.

pStates
Ein Zeiger auf ein MONTHDAYSTATE-Array mit Werten, die definieren, wie das Monatskalendersteuerelement jeden Tag in seiner Anzeige zeichnet. Der DATENTYP MONTHDAYSTATE ist ein Bitfeld, wobei jedes Bit (1 bis 31) den Status eines Tages in einem Monat darstellt. Wenn ein bisschen aktiviert ist, wird der entsprechende Tag fett formatiert angezeigt. andernfalls wird sie ohne Hervorhebung angezeigt.

Rückgabewert

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

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht 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 steuerelement für den aktuellen Monatskalender auf die 10-Jahre-Ansicht fest.

BOOL SetDecadeView();

Rückgabewert

TRUE, wenn diese Methode erfolgreich ist; andernfalls FALSE.

Hinweise

Diese Methode verwendet die CMonthCalCtrl::SetCurrentView-Methode , um die Ansicht auf festzulegen MCMV_DECADE, die die Zehn-Jahre-Ansicht darstellt.

CMonthCalCtrl::SetFirstDayOfWeek

Legt den Wochentag fest, der in der spalte ganz links des Kalenders 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 Tagesnummern finden Sie unter GetFirstDayOfWeek .

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

Rückgabewert

Nonzero, wenn der vorherige erste Tag der Woche auf einen anderen Wert als die von LOCALE_IFIRSTDAYOFWEEK festgelegt ist, was der in der Systemsteuerungseinstellung angegebene Tag ist. Andernfalls gibt diese Funktion 0 zurück.

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht 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 Monatskalendersteuerelement ausgewählt werden können.

BOOL SetMaxSelCount(int nMax);

Parameter

nMax
Der Wert, der so festgelegt wird, dass er die maximale Anzahl von auswählbaren Tagen darstellt.

Rückgabewert

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

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht 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 Monatskalendersteuerelement fest.

int SetMonthDelta(int iDelta);

Parameter

iDelta
Die Anzahl der Monate, die als Bildlaufrate des Steuerelements festgelegt werden sollen. Wenn dieser Wert 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-Nachricht MCM_SETMONTHDELTA, wie im Windows SDK beschrieben.

CMonthCalCtrl::SetMonthView

Legt das aktuelle Monatskalendersteuerelement 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 festzulegen, die die Monatsansicht darstellt.

Beispiel

Im ersten Codebeispiel wird die Variable definiert, m_monthCalCtrldie für den programmgesteuerten Zugriff auf das Monatskalendersteuerelement 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 Monatskalendersteuerelement so festgelegt, dass die Ansichten "Monat", "Jahr", "Jahrzehnt" und "Jahrhundert" 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 Mindest- und maximal zulässigen Datumsangaben für ein Monatskalendersteuerelement 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 COleDateTime Objekt, ein Objekt oder eine CTime SYSTEMTIME-Struktur, die das Datum am niedrigsten Ende des Bereichs enthält.

pMaxRange
Ein Zeiger auf ein COleDateTime Objekt, ein Objekt oder SYSTEMTIME eine CTime Struktur mit dem Datum am höchsten Ende des Bereichs.

Rückgabewert

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

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht MCM_SETRANGE, wie im Windows SDK beschrieben. In der Implementierung von SetRangeMFC können Sie die Verwendung, eine CTime Verwendung oder eine SYSTEMTIME Strukturverwendung angebenCOleDateTime.

Beispiel

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

CMonthCalCtrl::SetSelRange

Legt die Auswahl für ein Monatskalendersteuerelement auf einen bestimmten 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 COleDateTime Objekt, ein Objekt oder eine CTime SYSTEMTIME-Struktur, die das Datum am niedrigsten Ende des Bereichs enthält.

pMaxRange
Ein Zeiger auf ein COleDateTime Objekt, ein Objekt oder SYSTEMTIME eine CTime Struktur mit dem Datum am höchsten Ende des Bereichs.

Rückgabewert

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

Hinweise

Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht MCM_SETSELRANGE, wie im Windows SDK beschrieben. In der Implementierung von SetSelRangeMFC können Sie die Verwendung, eine CTime Verwendung oder eine SYSTEMTIME Strukturverwendung angebenCOleDateTime.

CMonthCalCtrl::SetToday

Legt das Kalendersteuerelement 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 zeigt ein Zeiger auf ein CTime-Objekt , das die aktuellen Datumsinformationen enthält. In der dritten Version zeigt ein Zeiger auf eine SYSTEMTIME-Struktur , die die aktuellen Datumsinformationen enthält.

Hinweise

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

Beispiel

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

CMonthCalCtrl::SetYearView

Legt das steuerelement für den aktuellen Monatskalender 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 Ansicht auf MCMV_YEAR festzulegen, die die Jahresansicht darstellt.

CMonthCalCtrl::SizeMinReq

Zeigt das Monatskalendersteuerelement auf die Mindestgröße an, die einen Monat anzeigt.

BOOL SizeMinReq(BOOL bRepaint = TRUE);

Parameter

bRepaint
Gibt an, ob das Steuerelement aktualisiert werden soll. Standardmäßig TRUE. Wenn FALSE, tritt keine Aktualisierung auf.

Rückgabewert

Nonzero, wenn das Monatskalendersteuerelement auf sein Minimum angepasst ist; andernfalls 0.

Hinweise

Beim Aufrufen SizeMinReq wird das gesamte Monatskalendersteuerelement für den Kalender eines Monats erfolgreich angezeigt.

CMonthCalCtrl::SizeRectToMin

Berechnet für das aktuelle Monatskalendersteuerelement das kleinste Rechteck, das alle Kalender enthalten kann, die in ein bestimmtes 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. Diese Methode schrumpft das angegebene Rechteck so, dass es genau an die gewünschte Anzahl von Kalendern angepasst wird.

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

Siehe auch

MFC-Beispiel-CMNCTRL1
CWnd-Klasse
Hierarchiediagramm
CDateTimeCtrl-Klasse