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" CDateTimeCtrlbeschrieben werden.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

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_dateTimeCtrldie 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
  1. Aufrufen CDateTimeCtrl zum Erstellen eines CDateTimeCtrl Objekts.

  2. 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 Createwerden 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

TRUEwenn 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_dateTimeCtrldie 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 dwFlagsangegeben. 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_dateTimeCtrldie 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 CDialogabgeleiteten Klasse mit dem Namen m_MonthFont typs CFonterstellen.

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_dateTimeCtrldie 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 SetTimekö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