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
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:
Rufen Sie CMonthCalCtrl auf, um ein
CMonthCalCtrl
-Objekt zu erstellen.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_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 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_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 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 GetCurSel
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 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_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 - 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
-COleDateTime
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.
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 GetMonthRange
kö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 GetRange
kö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 GetSelRange
kö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 GetToday
kö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
: MonatsansichtMCMV_YEAR
: JahresansichtMCMV_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 SetCurSel
kö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 SetRange
kö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 SetSelRange
kö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