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
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:
Rufen Sie CMonthCalCtrl auf, um ein
CMonthCalCtrl
Objekt zu erstellen.Rufen Sie diese Memberfunktion auf, die ein Monatskalendersteuerelement erstellt und an das
CMonthCalCtrl
Objekt anfügt.
Beim Aufrufen Create
werden 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_monthCalCtrl
die 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_monthCalCtrl
die 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 GetCurSel
MFC 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_monthCalCtrl
die 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 GetMonthRange
MFC 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 GetRange
MFC 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 GetSelRange
MFC 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 GetToday
MFC 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_monthCalCtrl
die 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_monthCalCtrl
die 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 AnsichtMCMV_YEAR
: JahresansichtMCMV_DECADE
: 10-Jahre-AnsichtMCMV_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 SetCurSel
MFC 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_monthCalCtrl
die 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 SetRange
MFC 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 SetSelRange
MFC 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