Share via


CDateTimeCtrl-klasse

Opmerking

De Microsoft Foundation Classes-bibliotheek (MFC) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Hiermee wordt de functionaliteit van een besturingselement voor datum- en tijdkiezer ingekapseld.

Syntaxis

class CDateTimeCtrl : public CWnd

Leden

Openbare constructors

Naam Description
CDateTimeCtrl::CDateTimeCtrl Maakt een CDateTimeCtrl object.

Openbare methoden

Naam Description
CDateTimeCtrl::CloseMonthCal Hiermee sluit u het huidige besturingselement voor datum- en tijdkiezer.
CDateTimeCtrl::Create Hiermee maakt u het besturingselement voor datum- en tijdkiezer en koppelt u het aan het CDateTimeCtrl object.
CDateTimeCtrl::GetDateTimePickerInfo Hiermee wordt informatie opgehaald over het huidige besturingselement voor datum- en tijdkiezer.
CDateTimeCtrl::GetIdealSize Retourneert de ideale grootte van het besturingselement voor datum- en tijdkiezer dat nodig is om de huidige datum of tijd weer te geven.
CDateTimeCtrl::GetMonthCalColor Haalt de kleur voor een bepaald gedeelte van de maandkalender op binnen het besturingselement datum- en tijdkiezer.
CDateTimeCtrl::GetMonthCalCtrl Hiermee wordt het CMonthCalCtrl object opgehaald dat is gekoppeld aan het besturingselement datum- en tijdkiezer.
CDateTimeCtrl::GetMonthCalFont Hiermee haalt u het lettertype op dat momenteel wordt gebruikt door het besturingselement datum- en tijdkiezer voor de kalender van de onderliggende maand.
CDateTimeCtrl::GetMonthCalStyle Hiermee haalt u de stijl van het huidige besturingselement voor datum- en tijdkiezer op.
CDateTimeCtrl::GetRange Hiermee haalt u de huidige minimaal en maximaal toegestane systeemtijden voor een datum- en tijdkiezer op.
CDateTimeCtrl::GetTime Haalt de geselecteerde tijd op uit een datum- en tijdkiezer en plaatst deze in een opgegeven SYSTEMTIME structuur.
CDateTimeCtrl::SetFormat Hiermee stelt u de weergave van een besturingselement voor datum- en tijdkiezer in overeenstemming met een bepaalde notatietekenreeks.
CDateTimeCtrl::SetMonthCalColor Hiermee stelt u de kleur in voor een bepaald gedeelte van de maandkalender binnen een besturingselement voor datum- en tijdkiezer.
CDateTimeCtrl::SetMonthCalFont Hiermee stelt u het lettertype in dat het kalenderbeheer voor de onderliggende maand van het besturingselement voor datum- en tijdkiezer wordt gebruikt.
CDateTimeCtrl::SetMonthCalStyle Hiermee stelt u de stijl van het huidige besturingselement voor datum- en tijdkiezer in.
CDateTimeCtrl::SetRange Hiermee stelt u de minimale en maximaal toegestane systeemtijden in voor een datum- en tijdkiezer.
CDateTimeCtrl::SetTime Hiermee stelt u de tijd in een besturingselement voor datum- en tijdkiezer in.

Opmerkingen

Het besturingselement voor datum- en tijdkiezer (DTP-besturingselement) biedt een eenvoudige interface voor het uitwisselen van datum- en tijdgegevens met een gebruiker. Deze interface bevat velden, die elk een deel van de datum- en tijdgegevens weergeven die zijn opgeslagen in het besturingselement. De gebruiker kan de informatie die is opgeslagen in het besturingselement wijzigen door de inhoud van de tekenreeks in een bepaald veld te wijzigen. De gebruiker kan van veld naar veld gaan met behulp van de muis of het toetsenbord.

U kunt het besturingselement voor datum- en tijdkiezer aanpassen door verschillende stijlen toe te passen op het object wanneer u het maakt. Zie Stijlen voor datum- en tijdkiezer in de Windows SDK voor meer informatie over stijlen die specifiek zijn voor het besturingselement datum- en tijdkiezer. U kunt de weergave-indeling van het DTP-besturingselement instellen met opmaakstijlen. Deze opmaakstijlen worden beschreven onder Opmaakstijlen in het onderwerp Datum- en tijdkiezerstijlen voor Windows SDK.

Het besturingselement voor datum- en tijdkiezer maakt ook gebruik van meldingen en callbacks, die worden beschreven in Using CDateTimeCtrl.

Overnamehiërarchie

CObject

CCmdTarget

CWnd

CDateTimeCtrl

Requirements

Rubriek:afxdtctl.h

CDateTimeCtrl::CDateTimeCtrl

Maakt een CDateTimeCtrl object.

CDateTimeCtrl();

CDateTimeCtrl::CloseMonthCal

Hiermee sluit u het huidige besturingselement voor datum- en tijdkiezer.

void CloseMonthCal() const;

Opmerkingen

Met deze methode wordt het DTM_CLOSEMONTHCAL bericht verzonden, dat wordt beschreven in de Windows SDK.

Example

Het eerste codevoorbeeld definieert de variabele, m_dateTimeCtrldie wordt gebruikt om programmatisch toegang te krijgen tot het besturingselement voor datum- en tijdkiezer. Deze variabele wordt gebruikt in het volgende voorbeeld.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

In het volgende codevoorbeeld wordt de vervolgkeuzelijst voor het huidige besturingselement voor datum- en tijdkiezer gesloten.

void CCDateTimeCtrl_s1Dlg::OnXClosemonthcal()
{
   // Close the month calendar control dropdown.
   m_dateTimeCtrl.CloseMonthCal();
}

CDateTimeCtrl::Create

Hiermee maakt u het besturingselement voor datum- en tijdkiezer en koppelt u het aan het CDateTimeCtrl object.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parameterwaarden

dwStyle
Hiermee geeft u de combinatie van datum/tijd besturingsstijlen. Zie Stijlen voor datum- en tijdkiezer in de Windows SDK voor meer informatie over datum- en tijdkiezerstijlen.

rect
Een verwijzing naar een RECT structuur, de positie en grootte van het besturingselement datum- en tijdkiezer.

pParentWnd
Een aanwijzer naar een CWnd object dat het bovenliggende venster van het besturingselement datum- en tijdkiezer is. Het mag niet zijn NULL.

nID
Hiermee geeft u de besturingselement-id van het besturingselement datum en tijd op.

Retourwaarde

Nonzero als het maken is geslaagd; anders 0.

Opmerkingen

Een besturingselement voor datum- en tijdkiezer maken
  1. Aanroep CDateTimeCtrl om een CDateTimeCtrl object te maken.

  2. Roep deze lidfunctie aan, waarmee het besturingselement Windows-datum- en tijdkiezer wordt gemaakt en aan het CDateTimeCtrl object wordt gekoppeld.

Wanneer u aanroept Create, worden de algemene besturingselementen geïnitialiseerd.

Example

// 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

Hiermee wordt informatie opgehaald over het huidige besturingselement voor datum- en tijdkiezer.

BOOL GetDateTimePickerInfo(LPDATETIMEPICKERINFO pDateTimePickerInfo) const;

Parameterwaarden

pDateTimePickerInfo
[uit] Een aanwijzer naar een DATETIMEPICKERINFO structuur die een beschrijving ontvangt van het huidige besturingselement voor datum- en tijdkiezer. De beller is verantwoordelijk voor het toewijzen van deze structuur. Met deze methode wordt echter het cbSize lid van de structuur geïnitialiseerd.

Retourwaarde

TRUE als deze methode is geslaagd; anders, FALSE.

Opmerkingen

Met deze methode wordt het DTM_GETDATETIMEPICKERINFO bericht verzonden, dat wordt beschreven in de Windows SDK.

Example

Het eerste codevoorbeeld definieert de variabele, m_dateTimeCtrldie wordt gebruikt om programmatisch toegang te krijgen tot het besturingselement voor datum- en tijdkiezer. Deze variabele wordt gebruikt in het volgende voorbeeld.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

In het volgende codevoorbeeld wordt aangegeven of er informatie wordt opgehaald over het huidige besturingselement voor datum- en tijdkiezer.

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

Haalt de kleur voor een bepaald gedeelte van de maandkalender op binnen het besturingselement datum- en tijdkiezer.

COLORREF GetMonthCalColor(int iColor) const;

Parameterwaarden

iColor
Een int waarde die aangeeft welk kleurgebied van de maandkalender moet worden opgehaald. Zie de iColor parameter voor SetMonthCalColoreen lijst met waarden.

Retourwaarde

Een COLORREF waarde die de kleurinstelling vertegenwoordigt voor het opgegeven gedeelte van het maandkalenderbeheer als dit lukt. De functie retourneert -1 indien mislukt.

Opmerkingen

Deze lidfunctie implementeert het gedrag van het Win32-bericht DTM_GETMCCOLOR, zoals beschreven in de Windows SDK.

Example

// 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

Hiermee wordt het CMonthCalCtrl object opgehaald dat is gekoppeld aan het besturingselement datum- en tijdkiezer.

CMonthCalCtrl* GetMonthCalCtrl() const;

Retourwaarde

Een aanwijzer naar een CMonthCalCtrl object, of als dit niet lukt of NULL als het venster niet zichtbaar is.

Opmerkingen

Besturingselementen voor datum- en tijdkiezer maken een kalenderbesturingselement voor onderliggende maanden wanneer de gebruiker de vervolgkeuzepijl selecteert. Wanneer het CMonthCalCtrl object niet meer nodig is, wordt het vernietigd, dus uw toepassing mag niet vertrouwen op het opslaan van het object dat de kalender voor de maandkalender van de datum/tijdkiezer vertegenwoordigt.

Example

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

Hiermee haalt u het lettertype op dat momenteel wordt gebruikt door het kalenderbeheer voor de maand van het besturingselement datum en tijd.

CFont* GetMonthCalFont() const;

Retourwaarde

Een aanwijzer naar een CFont object of NULL als dit niet lukt.

Opmerkingen

Het CFont object waarnaar wordt verwezen door de retourwaarde is een tijdelijk object en wordt vernietigd tijdens de volgende niet-actieve verwerkingstijd.

CDateTimeCtrl::GetMonthCalStyle

Hiermee haalt u de stijl op van het kalenderbesturingselement voor de vervolgkeuzelijst maand dat is gekoppeld aan het huidige besturingselement voor datum- en tijdkiezer.

DWORD GetMonthCalStyle() const;

Retourwaarde

De stijl van het besturingselement kalender van de vervolgkeuzelijst maand, een bitsgewijze combinatie (OR) van de besturingsstijlen voor datum- en tijdkiezer. Zie Kalenderbesturingsstijlen maand voor meer informatie.

Opmerkingen

Met deze methode wordt het DTM_GETMCSTYLE bericht verzonden, dat wordt beschreven in de Windows SDK.

CDateTimeCtrl::GetRange

Hiermee haalt u de huidige minimaal en maximaal toegestane systeemtijden voor een datum- en tijdkiezer op.

DWORD GetRange(
    COleDateTime* pMinRange,
    COleDateTime* pMaxRange) const;

DWORD GetRange(
    CTime* pMinRange,
    CTime* pMaxRange) const;

Parameterwaarden

pMinRange
Een aanwijzer naar een COleDateTime object of een CTime object met de vroegste tijd die in het CDateTimeCtrl object is toegestaan.

pMaxRange
Een aanwijzer naar een COleDateTime object of een CTime object met de laatste tijd die is toegestaan in het CDateTimeCtrl object.

Retourwaarde

Een DWORD waarde met vlaggen die aangeven welke bereiken zijn ingesteld. Als

return value & GDTR_MAX == 0

dan is de tweede parameter geldig. Op dezelfde manier, als

return value & GDTR_MIN == 0

dan is de eerste parameter geldig.

Opmerkingen

Deze lidfunctie implementeert het gedrag van het Win32-bericht DTM_GETRANGE, zoals beschreven in de Windows SDK. In de implementatie van MFC kunt u een COleDateTime of CTime meer gebruiksgegevens opgeven.

Example

// 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

Haalt de geselecteerde tijd op uit een datum- en tijdkiezer en plaatst deze in een opgegeven SYSTEMTIME structuur.

BOOL GetTime(COleDateTime& timeDest) const;
DWORD GetTime(CTime& timeDest) const;
DWORD GetTime(LPSYSTEMTIME pTimeDest) const;

Parameterwaarden

timeDest
In de eerste versie verwijst u naar een COleDateTime object dat de systeemtijdgegevens ontvangt. In de tweede versie verwijst u naar een CTime object dat de systeemtijdgegevens ontvangt.

pTimeDest
Een aanwijzer naar de SYSTEMTIME structuur om de systeemtijdinformatie te ontvangen. Mag niet zijn NULL.

Retourwaarde

In de eerste versie, niet-nul als de tijd naar het COleDateTime object is geschreven; anders 0. In de tweede en derde versie is een DWORD waarde gelijk aan het dwFlag lid dat in de NMDATETIMECHANGE structuur is ingesteld. Zie de sectie Opmerkingen hieronder voor meer informatie.

Opmerkingen

Deze lidfunctie implementeert het gedrag van het Win32-bericht DTM_GETSYSTEMTIME, zoals beschreven in de Windows SDK. In de MFC-implementatie van GetTime, kunt u gebruiken COleDateTime of CTime klassen, of u kunt een SYSTEMTIME structuur gebruiken om de tijdgegevens op te slaan.

De retourwaarde DWORD in de tweede en derde versie geeft aan of het besturingselement voor datum- en tijdkiezer al dan niet is ingesteld op de status 'geen datum', zoals aangegeven in het NMDATETIMECHANGE structuurlid dwFlags. Als de geretourneerde waarde gelijk is GDT_NONEaan, wordt het besturingselement ingesteld op 'geen datum'-status en wordt de DTS_SHOWNONE stijl gebruikt. Als de geretourneerde waarde gelijk is GDT_VALIDaan, wordt de systeemtijd opgeslagen op de doellocatie.

Example

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

Retourneert de ideale grootte van het besturingselement voor datum- en tijdkiezer dat nodig is om de huidige datum of tijd weer te geven.

BOOL GetIdealSize(LPSIZE psize) const;

Parameterwaarden

psize
[uit] Wijs een SIZE structuur aan die de ideale grootte voor het besturingselement bevat.

Retourwaarde

De retourwaarde is altijd TRUE.

Opmerkingen

Met deze methode wordt het DTM_GETIDEALSIZE bericht verzonden, dat wordt beschreven in de Windows SDK.

Example

Het eerste codevoorbeeld definieert de variabele, m_dateTimeCtrldie wordt gebruikt om programmatisch toegang te krijgen tot het besturingselement voor datum- en tijdkiezer. Deze variabele wordt gebruikt in het volgende voorbeeld.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

In het volgende codevoorbeeld wordt de ideale grootte opgehaald om het besturingselement voor datum- en tijdkiezer weer te geven.

// 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

Hiermee stelt u de weergave van een besturingselement voor datum- en tijdkiezer in overeenstemming met een bepaalde notatietekenreeks.

BOOL SetFormat(LPCTSTR pstrFormat);

Parameterwaarden

pstrFormat
Een aanwijzer naar een tekenreeks met een niet-beëindigde notatie waarmee de gewenste weergave wordt gedefinieerd. Als u deze parameter instelt, NULL wordt het besturingselement opnieuw ingesteld op de standaardnotatietekenreeks voor de huidige stijl.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerking

Gebruikersinvoer bepaalt niet of deze is geslaagd of mislukt voor deze aanroep.

Opmerkingen

Deze lidfunctie implementeert het gedrag van het Win32-bericht DTM_SETFORMAT, zoals beschreven in de Windows SDK.

Example

// 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

Hiermee stelt u de kleur in voor een bepaald gedeelte van de maandkalender binnen een besturingselement voor datum- en tijdkiezer.

COLORREF SetMonthCalColor(
    int iColor,
    COLORREF ref);

Parameterwaarden

iColor
int waarde die aangeeft welk gebied van het kalenderbeheer van de maand moet worden ingesteld. Deze waarde kan een van de volgende zijn.

Waarde Meaning
MCSC_BACKGROUND Stel de achtergrondkleur in die tussen maanden wordt weergegeven.
MCSC_MONTHBK Stel de achtergrondkleur in die binnen een maand wordt weergegeven.
MCSC_TEXT Stel de kleur in die wordt gebruikt om tekst binnen een maand weer te geven.
MCSC_TITLEBK Stel de achtergrondkleur in die wordt weergegeven in de titel van de agenda.
MCSC_TITLETEXT Stel de kleur in die wordt gebruikt om tekst weer te geven in de titel van de agenda.
MCSC_TRAILINGTEXT Stel de kleur in die wordt gebruikt om kop- en volgdagtekst weer te geven. Kop- en volgdagen zijn de dagen van de vorige en volgende maanden die worden weergegeven in de huidige agenda.

ref
Een COLORREF waarde die de kleur aangeeft die wordt ingesteld voor het opgegeven gebied van de maandkalender.

Retourwaarde

Een COLORREF waarde die de vorige kleurinstelling vertegenwoordigt voor het opgegeven gedeelte van het maandkalenderbeheer als dit lukt. Anders retourneert het bericht -1.

Opmerkingen

Deze lidfunctie implementeert het gedrag van het Win32-bericht DTM_SETMCCOLOR, zoals beschreven in de Windows SDK.

Example

Zie het voorbeeld voor CDateTimeCtrl::GetMonthCalColor.

CDateTimeCtrl::SetMonthCalFont

Hiermee stelt u het lettertype in dat het kalenderbeheer voor de onderliggende maand van het besturingselement voor datum- en tijdkiezer wordt gebruikt.

void SetMonthCalFont(
    HFONT hFont,
    BOOL bRedraw = TRUE);

Parameterwaarden

hFont
Greep naar het lettertype dat wordt ingesteld.

bRedraw
Hiermee geeft u op of het besturingselement onmiddellijk opnieuw moet worden getekend bij het instellen van het lettertype. Als u deze parameter instelt, TRUE wordt het besturingselement opnieuw getekend.

Opmerkingen

Deze lidfunctie implementeert het gedrag van het Win32-bericht DTM_SETMCFONT, zoals beschreven in de Windows SDK.

Example

// 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);
}

Opmerking

Als u deze code gebruikt, moet u lid worden van uw CDialog-afgeleide klasse met de naam m_MonthFont van het type CFont.

CDateTimeCtrl::SetMonthCalStyle

Hiermee stelt u de stijl van het kalenderbesturingselement voor de vervolgkeuzelijst maand in dat is gekoppeld aan het huidige besturingselement voor datum- en tijdkiezer.

DWORD SetMonthCalStyle(DWORD dwStyle);

Parameterwaarden

dwStyle
[in] Een nieuwe stijl voor maandkalenderbeheer, een bitsgewijze combinatie (OF) van maandkalenderbesturingsstijlen. Zie Kalenderbesturingsstijlen maand voor meer informatie.

Retourwaarde

De vorige stijl van het kalenderbesturingselement voor de vervolgkeuzelijst maand.

Opmerkingen

Met deze methode wordt het DTM_SETMCSTYLE bericht verzonden, dat wordt beschreven in de Windows SDK.

Example

Het eerste codevoorbeeld definieert de variabele, m_dateTimeCtrldie wordt gebruikt om programmatisch toegang te krijgen tot het besturingselement voor datum- en tijdkiezer. Deze variabele wordt gebruikt in het volgende voorbeeld.

// Variable to access date-time control.
CDateTimeCtrl m_dateTimeCtrl;
// Variable to access the splitbutton control
CSplitButton m_splitbutton;

In het volgende codevoorbeeld wordt het besturingselement voor datum- en tijdkiezer ingesteld om weeknummers, afgekorte namen van dagen van de week en geen indicator voor vandaag weer te geven.

// 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

Hiermee stelt u de minimale en maximaal toegestane systeemtijden in voor een datum- en tijdkiezer.

BOOL SetRange(
    const COleDateTime* pMinRange,
    const COleDateTime* pMaxRange);

BOOL SetRange(
    const CTime* pMinRange,
    const CTime* pMaxRange);

Parameterwaarden

pMinRange
Een aanwijzer naar een COleDateTime object of een CTime object met de vroegste tijd die in het CDateTimeCtrl object is toegestaan.

pMaxRange
Een aanwijzer naar een COleDateTime object of een CTime object met de laatste tijd die is toegestaan in het CDateTimeCtrl object.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Deze lidfunctie implementeert het gedrag van het Win32-bericht DTM_SETRANGE, zoals beschreven in de Windows SDK. In de implementatie van MFC kunt u een COleDateTime of CTime meer gebruiksgegevens opgeven. Als het COleDateTime object een NULL status heeft, wordt het bereik verwijderd. Als de CTime aanwijzer of de COleDateTime aanwijzer is NULL, wordt het bereik verwijderd.

Example

Zie het voorbeeld voor CDateTimeCtrl::GetRange.

CDateTimeCtrl::SetTime

Hiermee stelt u de tijd in een besturingselement voor datum- en tijdkiezer in.

BOOL SetTime(const COleDateTime& timeNew);
BOOL SetTime(const CTime* pTimeNew);
BOOL SetTime(LPSYSTEMTIME pTimeNew = NULL);

Parameterwaarden

timeNew
Een verwijzing naar een COleDateTime object met het object waarop het besturingselement wordt ingesteld.

pTimeNew
In de tweede versie hierboven verwijst u naar een CTime object met de tijd waarop het besturingselement wordt ingesteld. In de derde versie hierboven verwijst u naar een SYSTEMTIME structuur met de tijd waarop het besturingselement wordt ingesteld.

Retourwaarde

Niet-nul indien geslaagd; anders 0.

Opmerkingen

Deze lidfunctie implementeert het gedrag van het Win32-bericht DTM_SETSYSTEMTIME, zoals beschreven in de Windows SDK. In de MFC-implementatie van SetTime, kunt u de COleDateTime of CTime klassen gebruiken, of u kunt een SYSTEMTIME structuur gebruiken om de tijdgegevens in te stellen.

Example

// 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));

Zie ook

MFC-voorbeeld CMNCTRL1
CWnd klasse
Hiërarchiegrafiek
CMonthCalCtrl klasse