CDateTimeCtrl
-Klasse
Kapselt die Funktionalität eines Steuerelements für die Datums- und Zeitauswahl.
Syntax
class CDateTimeCtrl : public CWnd
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CDateTimeCtrl::CDateTimeCtrl |
Erstellt ein CDateTimeCtrl -Objekt. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CDateTimeCtrl::CloseMonthCal |
Schließt das aktuelle Datums- und Uhrzeitauswahl-Steuerelement. |
CDateTimeCtrl::Create |
Erstellt das Datums- und Uhrzeitauswahl-Steuerelement und fügt es an das CDateTimeCtrl Objekt an. |
CDateTimeCtrl::GetDateTimePickerInfo |
Ruft Informationen zum aktuellen Datums- und Uhrzeitauswahl-Steuerelement ab. |
CDateTimeCtrl::GetIdealSize |
Gibt die ideale Größe des Datums- und Uhrzeitauswahl-Steuerelements zurück, das zum Anzeigen des aktuellen Datums oder der aktuellen Uhrzeit erforderlich ist. |
CDateTimeCtrl::GetMonthCalColor |
Ruft die Farbe für einen bestimmten Teil des Monatskalenders innerhalb des Datums- und Uhrzeitauswahl-Steuerelements ab. |
CDateTimeCtrl::GetMonthCalCtrl |
Ruft das Objekt ab, das CMonthCalCtrl dem Datums- und Uhrzeitauswahl-Steuerelement zugeordnet ist. |
CDateTimeCtrl::GetMonthCalFont |
Ruft die Schriftart ab, die derzeit vom untergeordneten Monatskalendersteuerelement des Datums- und Uhrzeitauswahlsteuerelements verwendet wird. |
CDateTimeCtrl::GetMonthCalStyle |
Ruft die Formatvorlage des aktuellen Datums- und Uhrzeitauswahl-Steuerelements ab. |
CDateTimeCtrl::GetRange |
Ruft die aktuellen mindest- und maximal zulässigen Systemzeiten für ein Datums- und Uhrzeitauswahl-Steuerelement ab. |
CDateTimeCtrl::GetTime |
Ruft die aktuell ausgewählte Uhrzeit aus einem Datums- und Uhrzeitauswahl-Steuerelement ab und fügt sie in eine angegebene SYSTEMTIME Struktur ein. |
CDateTimeCtrl::SetFormat |
Legt die Anzeige eines Datums- und Uhrzeitauswahl-Steuerelements gemäß einer bestimmten Formatzeichenfolge fest. |
CDateTimeCtrl::SetMonthCalColor |
Legt die Farbe für einen bestimmten Teil des Monatskalenders innerhalb eines Datums- und Uhrzeitauswahl-Steuerelements fest. |
CDateTimeCtrl::SetMonthCalFont |
Legt die Schriftart fest, die das untergeordnete Monatskalendersteuerelement des Steuerelements für die Datums- und Uhrzeitauswahl verwendet. |
CDateTimeCtrl::SetMonthCalStyle |
Legt die Formatvorlage des aktuellen Datums- und Uhrzeitauswahl-Steuerelements fest. |
CDateTimeCtrl::SetRange |
Legt die mindest- und maximal zulässigen Systemzeiten für ein Datums- und Uhrzeitauswahl-Steuerelement fest. |
CDateTimeCtrl::SetTime |
Legt die Uhrzeit in einem Datums- und Uhrzeitauswahl-Steuerelement fest. |
Hinweise
Das Datums- und Uhrzeitauswahl-Steuerelement (DTP-Steuerelement) bietet eine einfache Schnittstelle zum Austauschen von Datums- und Uhrzeitinformationen mit einem Benutzer. Diese Schnittstelle enthält Felder, von denen jeder einen Teil der im Steuerelement gespeicherten Datums- und Uhrzeitinformationen anzeigt. Der Benutzer kann die im Steuerelement gespeicherten Informationen ändern, indem der Inhalt der Zeichenfolge in einem bestimmten Feld geändert wird. Der Benutzer kann mit der Maus oder der Tastatur von Feld zu Feld wechseln.
Sie können das Datums- und Uhrzeitauswahl-Steuerelement anpassen, indem Sie beim Erstellen eine Vielzahl von Formatvorlagen auf das Objekt anwenden. Weitere Informationen zu Formatvorlagen für Datums- und Uhrzeitauswahl finden Sie unter Datums- und Uhrzeitauswahl-Steuerelement im Windows SDK. Sie können das Anzeigeformat des DTP-Steuerelements mithilfe von Formatvorlagen festlegen. Diese Formatvorlagen werden unter "Formatvorlagen" im Windows SDK-Thema Datums- und Uhrzeitauswahl-Steuerelementformatvorlagen beschrieben.
Das Datums- und Uhrzeitauswahl-Steuerelement verwendet auch Benachrichtigungen und Rückrufe, die in "Using" CDateTimeCtrl
beschrieben werden.
Vererbungshierarchie
CDateTimeCtrl
Anforderungen
Header: afxdtctl.h
CDateTimeCtrl::CDateTimeCtrl
Erstellt ein CDateTimeCtrl
-Objekt.
CDateTimeCtrl();
CDateTimeCtrl::CloseMonthCal
Schließt das aktuelle Datums- und Uhrzeitauswahl-Steuerelement.
void CloseMonthCal() const;
Hinweise
Diese Methode sendet die DTM_CLOSEMONTHCAL
Nachricht, die im Windows SDK beschrieben wird.
Beispiel
Im ersten Codebeispiel wird die Variable definiert, m_dateTimeCtrl
die für den programmgesteuerten Zugriff auf das Datums- und Uhrzeitauswahl-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.
// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;
Im nächsten Codebeispiel wird der Dropdownkalender für das aktuelle Datums- und Uhrzeitauswahl-Steuerelement geschlossen.
void CCDateTimeCtrl_s1Dlg::OnXClosemonthcal()
{
// Close the month calendar control dropdown.
m_dateTimeCtrl.CloseMonthCal();
}
CDateTimeCtrl::Create
Erstellt das Datums- und Uhrzeitauswahl-Steuerelement und fügt es an das CDateTimeCtrl
Objekt an.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parameter
dwStyle
Gibt die Kombination aus Formatvorlagen für Datums-Uhrzeit-Steuerelementen an. Weitere Informationen zu Datums- und Uhrzeitauswahl-Formatvorlagen finden Sie unter Datums- und Uhrzeitauswahl-Formatvorlagen im Windows SDK.
rect
Ein Verweis auf eine RECT
Struktur, die die Position und Größe des Datums- und Uhrzeitauswahl-Steuerelements darstellt.
pParentWnd
Ein Zeiger auf ein CWnd
Objekt, das das übergeordnete Fenster des Datums- und Uhrzeitauswahl-Steuerelements ist. Es darf nicht sein NULL
.
nID
Gibt die Steuerelement-ID des Datums- und Uhrzeitauswahlsteuerelements an.
Rückgabewert
Nonzero, wenn die Erstellung erfolgreich war; andernfalls 0.
Hinweise
So erstellen Sie ein Datums- und Uhrzeitauswahl-Steuerelement
Aufrufen
CDateTimeCtrl
zum Erstellen einesCDateTimeCtrl
Objekts.Rufen Sie diese Memberfunktion auf, mit der das Windows-Steuerelement für die Datums- und Uhrzeitauswahl erstellt und an das
CDateTimeCtrl
Objekt angefügt wird.
Beim Aufrufen Create
werden die allgemeinen Steuerelemente initialisiert.
Beispiel
// choose an arbitrary rectangle for creation
CRect rect(20, 20, 120, 45);
m_DateTimeCtrl.Create(WS_VISIBLE | WS_CHILD | WS_TABSTOP | DTS_SHOWNONE |
DTS_SHORTDATEFORMAT,
rect, this, IDC_DATETIMECTRL);
CDateTimeCtrl::GetDateTimePickerInfo
Ruft Informationen zum aktuellen Datums- und Uhrzeitauswahl-Steuerelement ab.
BOOL GetDateTimePickerInfo(LPDATETIMEPICKERINFO pDateTimePickerInfo) const;
Parameter
pDateTimePickerInfo
[out] Ein Zeiger auf eine DATETIMEPICKERINFO
Struktur, die eine Beschreibung des aktuellen Datums- und Uhrzeitauswahl-Steuerelements empfängt. Der Aufrufer ist für die Zuordnung dieser Struktur verantwortlich. Diese Methode initialisiert jedoch das cbSize
Element der Struktur.
Rückgabewert
TRUE
wenn diese Methode erfolgreich ist; andernfalls . FALSE
Hinweise
Diese Methode sendet die DTM_GETDATETIMEPICKERINFO
Nachricht, die im Windows SDK beschrieben wird.
Beispiel
Im ersten Codebeispiel wird die Variable definiert, m_dateTimeCtrl
die für den programmgesteuerten Zugriff auf das Datums- und Uhrzeitauswahl-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.
// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;
Das nächste Codebeispiel gibt an, ob es erfolgreich Informationen zum aktuellen Datums- und Uhrzeitauswahl-Steuerelement abruft.
void CCDateTimeCtrl_s1Dlg::OnXGetdatetimepickerinfo()
{
// Get information about the date-time picker control.
DATETIMEPICKERINFO dtpi = {0};
dtpi.cbSize = sizeof(DATETIMEPICKERINFO);
BOOL rc = m_dateTimeCtrl.GetDateTimePickerInfo(&dtpi);
if (rc == TRUE)
AfxMessageBox(_T("Information retrieved"),
MB_ICONEXCLAMATION);
else
AfxMessageBox(_T("Information was not retrieved"));
}
CDateTimeCtrl::GetMonthCalColor
Ruft die Farbe für einen bestimmten Teil des Monatskalenders innerhalb des Datums- und Uhrzeitauswahl-Steuerelements ab.
COLORREF GetMonthCalColor(int iColor) const;
Parameter
iColor
Ein int
Wert, der angibt, welcher Farbbereich des monatskalenders abgerufen werden soll. Eine Liste der Werte finden Sie im iColor
Parameter für SetMonthCalColor
.
Rückgabewert
Ein COLORREF
Wert, der die Farbeinstellung für den angegebenen Teil des Monatskalendersteuerelements darstellt, wenn dies erfolgreich ist. Die Funktion gibt -1 zurück, wenn dies nicht erfolgreich ist.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht DTM_GETMCCOLOR
, wie im Windows SDK beschrieben.
Beispiel
// Set the color for the text in the control and
// assure it was set properly. Unlike the GetMonthCalCtrl() member,
// GetMonthCalColor() and SetMonthCalColor() can be used at any time.
m_DateTimeCtrl.SetMonthCalColor(MCSC_TEXT, RGB(255, 0, 0));
VERIFY(m_DateTimeCtrl.GetMonthCalColor(MCSC_TEXT) == RGB(255, 0, 0));
CDateTimeCtrl::GetMonthCalCtrl
Ruft das Objekt ab, das CMonthCalCtrl
dem Datums- und Uhrzeitauswahl-Steuerelement zugeordnet ist.
CMonthCalCtrl* GetMonthCalCtrl() const;
Rückgabewert
Ein Zeiger auf ein CMonthCalCtrl
Objekt oder NULL
wenn das Fenster nicht sichtbar ist.
Hinweise
Datums- und Uhrzeitauswahlsteuerelemente erstellen ein untergeordnetes Monatskalendersteuerelement, wenn der Benutzer den Dropdownpfeil auswählt. Wenn das CMonthCalCtrl
Objekt nicht mehr benötigt wird, wird es zerstört, sodass Ihre Anwendung nicht darauf angewiesen sein muss, das Objekt zu speichern, das den untergeordneten Monatskalender des Datumszeitauswahl-Steuerelements darstellt.
Beispiel
void CDateTimeDlg::OnDropDownDateTimeCtrl(NMHDR *pNMHDR, LRESULT *pResult)
{
UNREFERENCED_PARAMETER(pNMHDR);
// note that GetMonthCalCtrl() will only return a pointer to the
// month calendar control while the control actually exists--that is,
// while it has been dropped-down by the user. Otherwise, the function
// returns NULL. One appropriate time to get the control is while
// handling the DTN_DROPDOWN notification for the date time picker
// control.
// get the control
CMonthCalCtrl *pMoCalCtrl = m_DateTimeCtrl.GetMonthCalCtrl();
ASSERT(pMoCalCtrl != NULL);
// now, pMoCalCtrl is useful...
*pResult = 0;
}
CDateTimeCtrl::GetMonthCalFont
Ruft die Schriftart ab, die derzeit vom Monatskalendersteuerelement des Datums- und Uhrzeitauswahlsteuerelements verwendet wird.
CFont* GetMonthCalFont() const;
Rückgabewert
Ein Zeiger auf ein CFont
Objekt oder NULL
wenn dies nicht erfolgreich ist.
Hinweise
Das CFont
Objekt, auf das der Rückgabewert verweist, ist ein temporäres Objekt und wird während der nächsten Leerlaufverarbeitungszeit zerstört.
CDateTimeCtrl::GetMonthCalStyle
Ruft die Formatvorlage des Dropdown-Monatskalender-Steuerelements ab, das dem aktuellen Datums- und Uhrzeitauswahl-Steuerelement zugeordnet ist.
DWORD GetMonthCalStyle() const;
Rückgabewert
Die Formatvorlage des Dropdown-Monatskalendersteuerelements, bei dem es sich um eine bitweise Kombination aus Datums- und Uhrzeitauswahl-Steuerelementformaten handelt. Weitere Informationen finden Sie unter Formatvorlagen für Monatskalendersteuerelemente.
Hinweise
Diese Methode sendet die DTM_GETMCSTYLE
Nachricht, die im Windows SDK beschrieben wird.
CDateTimeCtrl::GetRange
Ruft die aktuellen mindest- und maximal zulässigen Systemzeiten für ein Datums- und Uhrzeitauswahl-Steuerelement ab.
DWORD GetRange(
COleDateTime* pMinRange,
COleDateTime* pMaxRange) const;
DWORD GetRange(
CTime* pMinRange,
CTime* pMaxRange) const;
Parameter
pMinRange
Ein Zeiger auf ein COleDateTime
Objekt oder ein CTime
Objekt, das die früheste im Objekt zulässige CDateTimeCtrl
Zeit enthält.
pMaxRange
Ein Zeiger auf ein COleDateTime
Objekt oder ein CTime
Objekt, das die neueste zeit enthält, die im CDateTimeCtrl
Objekt zulässig ist.
Rückgabewert
Ein DWORD
Wert, der Flags enthält, die angeben, welche Bereiche festgelegt sind. Wenn
return value & GDTR_MAX
== 0
dann ist der zweite Parameter gültig. In ähnlicher Weise, wenn
return value & GDTR_MIN
== 0
dann ist der erste Parameter gültig.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht DTM_GETRANGE
, wie im Windows SDK beschrieben. In der Implementierung von MFC können Sie entweder COleDateTime
oder CTime
Verwendungen angeben.
Beispiel
// This function will set several ranges in the control, then
// call the ShowRange() function to show the set ranges to the
// user.
void CDateTimeDlg::OnBnClickedRangesbutton()
{
// 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_DateTimeCtrl.SetRange(&dtMin, &dtMax);
ShowRange(&m_DateTimeCtrl);
// Set no minimum and maximum of September 30th, 1997.
dtMin.SetStatus(COleDateTime::null);
dtMax = COleDateTime(1997, 9, 30, 0, 0, 0);
m_DateTimeCtrl.SetRange(&dtMin, &dtMax);
ShowRange(&m_DateTimeCtrl);
// 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_DateTimeCtrl.SetRange(&dtMin, &dtMax);
ShowRange(&m_DateTimeCtrl);
}
void CDateTimeDlg::ShowRange(CDateTimeCtrl *pCtrl)
{
ASSERT(pCtrl != NULL);
CString strMessage;
COleDateTime dtMinimum;
COleDateTime dtMaximum;
// Get the range.
DWORD dwResult = pCtrl->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);
}
CDateTimeCtrl::GetTime
Ruft die aktuell ausgewählte Uhrzeit aus einem Datums- und Uhrzeitauswahl-Steuerelement ab und fügt sie in eine angegebene SYSTEMTIME
Struktur ein.
BOOL GetTime(COleDateTime& timeDest) const;
DWORD GetTime(CTime& timeDest) const;
DWORD GetTime(LPSYSTEMTIME pTimeDest) const;
Parameter
timeDest
In der ersten Version wird ein Verweis auf ein COleDateTime
Objekt verwendet, das die Systemzeitinformationen empfängt. In der zweiten Version wird ein Verweis auf ein CTime
Objekt verwendet, das die Systemzeitinformationen empfängt.
pTimeDest
Ein Zeiger auf die SYSTEMTIME
Struktur, um die Systemzeitinformationen zu empfangen. Dieser Wert darf nicht NULL
sein.
Rückgabewert
In der ersten Version ist nonzero, wenn die Zeit erfolgreich in das COleDateTime
Objekt geschrieben wird; andernfalls 0. In der zweiten und dritten Version ist ein DWORD
Wert gleich dem Element, das dwFlag
in der NMDATETIMECHANGE
Struktur festgelegt ist. Weitere Informationen finden Sie im Abschnitt "Hinweise" weiter unten.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht DTM_GETSYSTEMTIME
, wie im Windows SDK beschrieben. In der MFC-Implementierung von GetTime
, können Sie verwenden COleDateTime
oder CTime
Klassen verwenden oder eine SYSTEMTIME
Struktur verwenden, um die Zeitinformationen zu speichern.
Der Rückgabewert DWORD
in der zweiten und dritten Version oben gibt an, ob das Datums- und Uhrzeitauswahl-Steuerelement auf den Status "Kein Datum" festgelegt ist, wie im NMDATETIMECHANGE
Strukturelement dwFlags
angegeben. Wenn der zurückgegebene Wert gleich ist GDT_NONE
, wird das Steuerelement auf den Status "Kein Datum" festgelegt und verwendet die DTS_SHOWNONE
Formatvorlage. Wenn der zurückgegebene Wert gleich ist GDT_VALID
, wird die Systemzeit erfolgreich am Zielspeicherort gespeichert.
Beispiel
void CDateTimeDlg::OnBnClickedTimebutton()
{
// get as a CTime
CTime timeTime;
DWORD dwResult = m_DateTimeCtrl.GetTime(timeTime);
if (dwResult == GDT_VALID)
{
// the user checked the box and specified data
CString str;
// is it a time-only control, or a date-only control?
if ((m_DateTimeCtrl.GetStyle() & DTS_TIMEFORMAT) == DTS_TIMEFORMAT)
str = timeTime.Format(_T("%X"));
else
str = timeTime.Format(_T("%x"));
AfxMessageBox(str);
}
else
{
// the user unmarked the "none" box
AfxMessageBox(_T("Time not set!"));
}
// Calling as SYSTIME is much the same, but calling for a COleDateTime
// has us test the state of the COleDateTime object for validity to
// see if the user did or didn't check the "none" box.
}
CDateTimeCtrl::GetIdealSize
Gibt die ideale Größe des Datums- und Uhrzeitauswahl-Steuerelements zurück, das zum Anzeigen des aktuellen Datums oder der aktuellen Uhrzeit erforderlich ist.
BOOL GetIdealSize(LPSIZE psize) const;
Parameter
psize
[out] Zeigen Sie auf eine SIZE
Struktur, die die ideale Größe für das Steuerelement enthält.
Rückgabewert
Der Rückgabewert ist immer TRUE
.
Hinweise
Diese Methode sendet die DTM_GETIDEALSIZE
Nachricht, die im Windows SDK beschrieben wird.
Beispiel
Im ersten Codebeispiel wird die Variable definiert, m_dateTimeCtrl
die für den programmgesteuerten Zugriff auf das Datums- und Uhrzeitauswahl-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.
// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;
Im nächsten Codebeispiel wird die ideale Größe abgerufen, um das Datums- und Uhrzeitauswahl-Steuerelement anzuzeigen.
// Add extra initialization here
// Associate a menu with the splitbutton control.
m_splitbutton.SetDropDownMenu(IDR_MENU1, 0);
// Resize the date-time picker control.
SIZE sz;
m_dateTimeCtrl.GetIdealSize(&sz);
if ((sz.cx != 0) && (sz.cy != 0))
{
m_dateTimeCtrl.SetWindowPos(
this,
0, 0, sz.cx, sz.cy,
(SWP_NOMOVE | SWP_NOZORDER | SWP_NOREPOSITION | SWP_NOACTIVATE));
}
// End of extra initialization
CDateTimeCtrl::SetFormat
Legt die Anzeige eines Datums- und Uhrzeitauswahl-Steuerelements gemäß einer bestimmten Formatzeichenfolge fest.
BOOL SetFormat(LPCTSTR pstrFormat);
Parameter
pstrFormat
Ein Zeiger auf eine leere Formatzeichenfolge, die die gewünschte Anzeige definiert. Durch Festlegen dieses Parameters NULL
wird das Steuerelement auf die Standardformatzeichenfolge für die aktuelle Formatvorlage zurückgesetzt.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweis
Die Benutzereingabe bestimmt keinen Erfolg oder Fehler für diesen Aufruf.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht DTM_SETFORMAT
, wie im Windows SDK beschrieben.
Beispiel
// The control will create itself with a format that matches the
// locale setting in Control Panel. But we can force a particular
// format with a call to SetFormat(). This call forces the format
// dd-MMM-yy, which would show 03-APR-98 for April 3rd, 1998.
m_DateTimeCtrl.SetFormat(_T("dd-MMM-yy"));
CDateTimeCtrl::SetMonthCalColor
Legt die Farbe für einen bestimmten Teil des Monatskalenders innerhalb eines Datums- und Uhrzeitauswahl-Steuerelements fest.
COLORREF SetMonthCalColor(
int iColor,
COLORREF ref);
Parameter
iColor
int
wert, der angibt, welcher Bereich des Monatskalendersteuerelements festgelegt werden soll. Dieser Wert kann eine der folgenden Sein:
Wert | Bedeutung |
---|---|
MCSC_BACKGROUND |
Legen Sie die Hintergrundfarbe fest, die zwischen Monaten angezeigt wird. |
MCSC_MONTHBK |
Legen Sie die Hintergrundfarbe fest, die innerhalb eines Monats angezeigt wird. |
MCSC_TEXT |
Legen Sie die Farbe fest, mit der Text innerhalb eines Monats angezeigt wird. |
MCSC_TITLEBK |
Legen Sie die Hintergrundfarbe fest, die im Titel des Kalenders angezeigt wird. |
MCSC_TITLETEXT |
Legen Sie die Farbe fest, mit der Text im Titel des Kalenders angezeigt wird. |
MCSC_TRAILINGTEXT |
Legen Sie die Farbe fest, 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, der die Farbe darstellt, die für den angegebenen Bereich des Monatskalenders festgelegt wird.
Rückgabewert
Ein COLORREF
Wert, der die vorherige Farbeinstellung für den angegebenen Teil des Monatskalendersteuerelements darstellt, wenn dies erfolgreich ist. Andernfalls gibt die Nachricht -1 zurück.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht DTM_SETMCCOLOR
, wie im Windows SDK beschrieben.
Beispiel
Sehen Sie sich das Beispiel für CDateTimeCtrl::GetMonthCalColor an.
CDateTimeCtrl::SetMonthCalFont
Legt die Schriftart fest, die das untergeordnete Monatskalendersteuerelement des Steuerelements für die Datums- und Uhrzeitauswahl verwendet.
void SetMonthCalFont(
HFONT hFont,
BOOL bRedraw = TRUE);
Parameter
hFont
Behandeln Sie die Schriftart, die festgelegt wird.
bRedraw
Gibt an, ob das Steuerelement beim Festlegen der Schriftart sofort neu gezeichnet werden soll. Wenn Sie diesen Parameter festlegen, TRUE
wird das Steuerelement selbst neu gezeichnet.
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht DTM_SETMCFONT
, wie im Windows SDK beschrieben.
Beispiel
// The following code example would most likely appear
// in the OnInitDialog function of your dialog class.
// It creates a font (Arial, 10 pixels high) and if successful,
// stores the result in m_MonthFont, a member of your
// dialog class declared as follows:
// CFont m_MonthFont;
// SetMonthCalFont is then called passing in the new font,
// causing the month calendar control to display all
// text and dates with an Arial font.
//initializing the necessary members of the LOGFONT
// structure
LOGFONT lf;
memset(&lf, 0, sizeof(lf));
lf.lfHeight = 10;
_tcscpy_s(lf.lfFaceName, LF_FACESIZE, _T("Arial"));
if (m_MonthFont.CreateFontIndirect(&lf))
{
// if successful, set the month calendar font
m_DateTimeCtrl.SetMonthCalFont((HFONT)m_MonthFont);
}
Hinweis
Wenn Sie diesen Code verwenden, sollten Sie ein Element der CDialog
abgeleiteten Klasse mit dem Namen m_MonthFont typs CFont
erstellen.
CDateTimeCtrl::SetMonthCalStyle
Legt die Formatvorlage des Dropdown-Monatskalendersteuerelements fest, das dem aktuellen Steuerelement für die Datums- und Uhrzeitauswahl zugeordnet ist.
DWORD SetMonthCalStyle(DWORD dwStyle);
Parameter
dwStyle
[in] Ein neues Monatskalender-Steuerelementformat, das eine bitweise Kombination (OR) von Monatskalender-Steuerelementstilen ist. Weitere Informationen finden Sie unter Formatvorlagen für Monatskalendersteuerelemente.
Rückgabewert
Die vorherige Formatvorlage des Dropdown-Monatskalendersteuerelements.
Hinweise
Diese Methode sendet die DTM_SETMCSTYLE
Nachricht, die im Windows SDK beschrieben wird.
Beispiel
Im ersten Codebeispiel wird die Variable definiert, m_dateTimeCtrl
die für den programmgesteuerten Zugriff auf das Datums- und Uhrzeitauswahl-Steuerelement verwendet wird. Diese Variable wird im nächsten Beispiel verwendet.
// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;
Im nächsten Codebeispiel wird das Datums- und Uhrzeitauswahlsteuerelement so festgelegt, dass Wochennummern, abgekürzte Namen von Tagen der Woche und kein Heutiger Indikator angezeigt werden.
// Set the style of the month-calendar control dropdown.
void CCDateTimeCtrl_s1Dlg::OnSetmonthcalstyleWeeknumber()
{
m_dateTimeCtrl.SetMonthCalStyle(MCS_WEEKNUMBERS);
}
void CCDateTimeCtrl_s1Dlg::OnSetmonthcalstyleNotoday()
{
m_dateTimeCtrl.SetMonthCalStyle(MCS_NOTODAY);
}
void CCDateTimeCtrl_s1Dlg::OnSetmonthcalstyleShortdaysofweek()
{
m_dateTimeCtrl.SetMonthCalStyle(MCS_SHORTDAYSOFWEEK);
}
CDateTimeCtrl::SetRange
Legt die mindest- und maximal zulässigen Systemzeiten für ein Datums- und Uhrzeitauswahl-Steuerelement fest.
BOOL SetRange(
const COleDateTime* pMinRange,
const COleDateTime* pMaxRange);
BOOL SetRange(
const CTime* pMinRange,
const CTime* pMaxRange);
Parameter
pMinRange
Ein Zeiger auf ein COleDateTime
Objekt oder ein CTime
Objekt, das die früheste im Objekt zulässige CDateTimeCtrl
Zeit enthält.
pMaxRange
Ein Zeiger auf ein COleDateTime
Objekt oder ein CTime
Objekt, das die neueste zeit enthält, die im CDateTimeCtrl
Objekt zulässig ist.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht DTM_SETRANGE
, wie im Windows SDK beschrieben. In der Implementierung von MFC können Sie entweder COleDateTime
oder CTime
Verwendungen angeben. Wenn das COleDateTime
Objekt über einen NULL
Status verfügt, wird der Bereich entfernt. Wenn der CTime
Zeiger oder der COleDateTime
Zeiger ist NULL
, wird der Bereich entfernt.
Beispiel
Ein Beispiel hierfür finden Sie unter CDateTimeCtrl::GetRange
.
CDateTimeCtrl::SetTime
Legt die Uhrzeit in einem Datums- und Uhrzeitauswahl-Steuerelement fest.
BOOL SetTime(const COleDateTime& timeNew);
BOOL SetTime(const CTime* pTimeNew);
BOOL SetTime(LPSYSTEMTIME pTimeNew = NULL);
Parameter
timeNew
Ein Verweis auf ein COleDateTime
Objekt, das das Steuerelement enthält, auf das das Steuerelement festgelegt wird.
pTimeNew
In der zweiten Version oben zeigt ein Zeiger auf ein CTime
Objekt, das die Uhrzeit enthält, auf die das Steuerelement festgelegt wird. In der dritten Version oben zeigt ein Zeiger auf eine SYSTEMTIME
Struktur, die die Zeit enthält, auf die das Steuerelement festgelegt wird.
Rückgabewert
Ungleich Null, wenn erfolgreich, andernfalls 0 (Null).
Hinweise
Diese Memberfunktion implementiert das Verhalten der Win32-Nachricht DTM_SETSYSTEMTIME
, wie im Windows SDK beschrieben. In der MFC-Implementierung von SetTime
können Sie die COleDateTime
Oder-Klassen CTime
verwenden oder eine SYSTEMTIME
Struktur verwenden, um die Zeitinformationen festzulegen.
Beispiel
// set with a CTime
CTime timeTime(1998, 4, 3, 0, 0, 0);
VERIFY(m_DateTimeCtrl.SetTime(&timeTime));
// set with a COleDateTime object
COleDateTime oletimeTime(1998, 4, 3, 0, 0, 0);
VERIFY(m_DateTimeCtrl.SetTime(oletimeTime));
// set using the SYSTEMTIME
SYSTEMTIME sysTime;
memset(&sysTime, 0, sizeof(sysTime));
sysTime.wYear = 1998;
sysTime.wMonth = 4;
sysTime.wDay = 3;
VERIFY(m_DateTimeCtrl.SetTime(&sysTime));
Siehe auch
MFC-Beispiel CMNCTRL1
CWnd
Klasse
Hierarchiediagramm
CMonthCalCtrl
Klasse