Condividi tramite


Classe CDateTimeCtrl

Incapsula la funzionalità di un controllo di selezione data e ora.

Sintassi

class CDateTimeCtrl : public CWnd

Membri

Costruttori pubblici

Nome Descrizione
CDateTimeCtrl::CDateTimeCtrl Costruisce un oggetto CDateTimeCtrl.

Metodi pubblici

Nome Descrizione
CDateTimeCtrl::CloseMonthCal Chiude il controllo selezione data e ora corrente.
CDateTimeCtrl::Create Crea il controllo selezione data e ora e lo associa all'oggetto CDateTimeCtrl .
CDateTimeCtrl::GetDateTimePickerInfo Recupera informazioni sul controllo selezione data e ora corrente.
CDateTimeCtrl::GetIdealSize Restituisce le dimensioni ideali del controllo selezione data e ora necessarie per visualizzare la data o l'ora correnti.
CDateTimeCtrl::GetMonthCalColor Recupera il colore per una determinata parte del calendario del mese all'interno del controllo selezione data e ora.
CDateTimeCtrl::GetMonthCalCtrl Recupera l'oggetto CMonthCalCtrl associato al controllo selezione data e ora.
CDateTimeCtrl::GetMonthCalFont Recupera il tipo di carattere attualmente utilizzato dal controllo selezione data e ora del controllo calendario del mese figlio.
CDateTimeCtrl::GetMonthCalStyle Ottiene lo stile del controllo selezione data e ora corrente.
CDateTimeCtrl::GetRange Recupera le ore di sistema minime e massime consentite correnti per un controllo selezione data e ora.
CDateTimeCtrl::GetTime Recupera l'ora attualmente selezionata da un controllo selezione data e ora e la inserisce in una struttura specificata SYSTEMTIME .
CDateTimeCtrl::SetFormat Imposta la visualizzazione di un controllo selezione data e ora in base a una determinata stringa di formato.
CDateTimeCtrl::SetMonthCalColor Imposta il colore per una determinata parte del calendario del mese all'interno di un controllo selezione data e ora.
CDateTimeCtrl::SetMonthCalFont Imposta il tipo di carattere che verrà utilizzato dal controllo calendario del mese figlio del controllo selezione data e ora.
CDateTimeCtrl::SetMonthCalStyle Imposta lo stile del controllo selezione data e ora corrente.
CDateTimeCtrl::SetRange Imposta le ore di sistema minime e massime consentite per un controllo selezione data e ora.
CDateTimeCtrl::SetTime Imposta l'ora in un controllo selezione data e ora.

Osservazioni:

Il controllo selezione data e ora (controllo DTP) fornisce un'interfaccia semplice per scambiare informazioni di data e ora con un utente. Questa interfaccia contiene campi, ognuno dei quali visualizza una parte delle informazioni di data e ora archiviate nel controllo . L'utente può modificare le informazioni archiviate nel controllo modificando il contenuto della stringa in un determinato campo. L'utente può passare dal campo al campo usando il mouse o la tastiera.

È possibile personalizzare il controllo selezione data e ora applicando un'ampia gamma di stili all'oggetto al momento della creazione. Per altre informazioni sugli stili specifici per il controllo selezione data e ora, vedere Stili di controllo selezione data e ora in Windows SDK. È possibile impostare il formato di visualizzazione del controllo DTP usando gli stili di formato. Questi stili di formato sono descritti in "Stili di formato" nell'argomento di Windows SDK Stili di controllo selezione data e ora.

Il controllo selezione data e ora usa anche notifiche e callback, descritti in Uso di CDateTimeCtrl.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CDateTimeCtrl

Requisiti

Intestazione: afxdtctl.h

CDateTimeCtrl::CDateTimeCtrl

Costruisce un oggetto CDateTimeCtrl.

CDateTimeCtrl();

CDateTimeCtrl::CloseMonthCal

Chiude il controllo selezione data e ora corrente.

void CloseMonthCal() const;

Osservazioni:

Questo metodo invia il DTM_CLOSEMONTHCAL messaggio, descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce la variabile , m_dateTimeCtrl, usata per accedere a livello di codice al controllo selezione data e ora. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice successivo viene chiuso il calendario a discesa per il controllo selezione data e ora corrente.

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

CDateTimeCtrl::Create

Crea il controllo selezione data e ora e lo associa all'oggetto CDateTimeCtrl .

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

Parametri

dwStyle
Specifica la combinazione di stili di controllo data e ora. Per altre informazioni sugli stili di selezione data e ora, vedere Stili di controllo selezione data e ora in Windows SDK.

rect
Riferimento a una RECT struttura, ovvero la posizione e le dimensioni del controllo selezione data e ora.

pParentWnd
Puntatore a un CWnd oggetto che rappresenta la finestra padre del controllo selezione data e ora. Non deve essere NULL.

nID
Specifica l'ID controllo controllo selezione data e ora.

Valore restituito

Diverso da zero se la creazione ha avuto esito positivo; in caso contrario, 0.

Osservazioni:

Per creare un controllo selezione data e ora
  1. Chiamare CDateTimeCtrl per costruire un CDateTimeCtrl oggetto .

  2. Chiamare questa funzione membro, che crea il controllo selezione data e ora di Windows e lo collega all'oggetto CDateTimeCtrl .

Quando si chiama Create, i controlli comuni vengono inizializzati.

Esempio

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

Recupera informazioni sul controllo selezione data e ora corrente.

BOOL GetDateTimePickerInfo(LPDATETIMEPICKERINFO pDateTimePickerInfo) const;

Parametri

pDateTimePickerInfo
[out] Puntatore a una DATETIMEPICKERINFO struttura che riceve una descrizione del controllo selezione data e ora corrente. Il chiamante è responsabile dell'allocazione di questa struttura. Tuttavia, questo metodo inizializza il cbSize membro della struttura.

Valore restituito

TRUE se questo metodo ha esito positivo; in caso contrario, FALSE.

Osservazioni:

Questo metodo invia il DTM_GETDATETIMEPICKERINFO messaggio, descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce la variabile , m_dateTimeCtrl, usata per accedere a livello di codice al controllo selezione data e ora. Questa variabile viene usata nell'esempio riportato di seguito.

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

L'esempio di codice successivo indica se recupera correttamente informazioni sul controllo selezione data e ora corrente.

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

Recupera il colore per una determinata parte del calendario del mese all'interno del controllo selezione data e ora.

COLORREF GetMonthCalColor(int iColor) const;

Parametri

iColor
Valore int che specifica l'area colore del calendario del mese da recuperare. Per un elenco di valori, vedere il iColor parametro per SetMonthCalColor.

Valore restituito

Valore COLORREF che rappresenta l'impostazione del colore per la parte specificata del controllo calendario del mese, se ha esito positivo. Se la funzione ha esito negativo, restituisce -1.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio DTM_GETMCCOLORWin32 , come descritto in Windows SDK.

Esempio

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

Recupera l'oggetto CMonthCalCtrl associato al controllo selezione data e ora.

CMonthCalCtrl* GetMonthCalCtrl() const;

Valore restituito

Puntatore a un CMonthCalCtrl oggetto o NULL se la finestra non è riuscita o se la finestra non è visibile.

Osservazioni:

I controlli selezione data e ora creano un controllo del calendario del mese figlio quando l'utente seleziona la freccia a discesa. Quando l'oggetto non è più necessario, viene eliminato definitivamente, quindi l'applicazione non deve basarsi sull'archiviazione dell'oggetto che rappresenta il calendario del mese figlio del controllo selezione data.When the CMonthCalCtrl object is not needed, it's destroyed, so your application must not rely on storing the object representing the date time picker control's child month calendar.

Esempio

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

Ottiene il tipo di carattere attualmente utilizzato dal controllo selezione data e ora del controllo calendario del mese.

CFont* GetMonthCalFont() const;

Valore restituito

Puntatore a un CFont oggetto o NULL in caso di esito negativo.

Osservazioni:

L'oggetto CFont a cui punta il valore restituito è un oggetto temporaneo e viene eliminato definitivamente durante il successivo tempo di elaborazione inattiva.

CDateTimeCtrl::GetMonthCalStyle

Ottiene lo stile del controllo calendario del mese a discesa associato al controllo selezione data e ora corrente.

DWORD GetMonthCalStyle() const;

Valore restituito

Stile del controllo del calendario del mese a discesa, ovvero una combinazione bit per bit (OR) degli stili di controllo selezione data e ora. Per altre informazioni, vedere Stili di controllo del calendario del mese.

Osservazioni:

Questo metodo invia il DTM_GETMCSTYLE messaggio, descritto in Windows SDK.

CDateTimeCtrl::GetRange

Recupera le ore di sistema minime e massime consentite correnti per un controllo selezione data e ora.

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

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

Parametri

pMinRange
Puntatore a un COleDateTime oggetto o a un CTime oggetto contenente la prima volta consentita nell'oggetto CDateTimeCtrl .

pMaxRange
Puntatore a un COleDateTime oggetto o a un CTime oggetto contenente l'ora più recente consentita nell'oggetto CDateTimeCtrl .

Valore restituito

Valore DWORD contenente flag che indicano quali intervalli sono impostati. If

return value & GDTR_MAX == 0

quindi il secondo parametro è valido. Analogamente, se

return value & GDTR_MIN == 0

quindi il primo parametro è valido.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio DTM_GETRANGEWin32 , come descritto in Windows SDK. Nell'implementazione di MFC è possibile specificare o COleDateTime CTime utilizzi.

Esempio

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

Recupera l'ora attualmente selezionata da un controllo selezione data e ora e la inserisce in una struttura specificata SYSTEMTIME .

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

Parametri

timeDest
Nella prima versione, un riferimento a un COleDateTime oggetto che riceverà le informazioni sull'ora di sistema. Nella seconda versione, un riferimento a un CTime oggetto che riceverà le informazioni sull'ora di sistema.

pTimeDest
Puntatore alla SYSTEMTIME struttura per ricevere le informazioni sull'ora di sistema. Non deve essere NULL.

Valore restituito

Nella prima versione, diverso da zero se l'ora viene scritta correttamente nell'oggetto COleDateTime ; in caso contrario, 0. Nella seconda e nella terza versione, un DWORD valore uguale al dwFlag membro impostato nella NMDATETIMECHANGE struttura. Per altre informazioni, vedere la sezione Osservazioni di seguito.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio DTM_GETSYSTEMTIMEWin32 , come descritto in Windows SDK. Nell'implementazione MFC di GetTimeè possibile usare COleDateTime o CTime classi oppure usare una SYSTEMTIME struttura per archiviare le informazioni sull'ora.

Il valore DWORD restituito nella seconda e nella terza versione precedente indica se il controllo selezione data e ora è impostato sullo stato "nessuna data", come indicato nel membro dwFlagsdella NMDATETIMECHANGE struttura . Se il valore restituito è uguale GDT_NONEa , il controllo viene impostato su "nessuna data" e usa lo DTS_SHOWNONE stile . Se il valore restituito è uguale GDT_VALIDa , l'ora di sistema viene archiviata correttamente nel percorso di destinazione.

Esempio

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

Restituisce le dimensioni ideali del controllo selezione data e ora necessarie per visualizzare la data o l'ora correnti.

BOOL GetIdealSize(LPSIZE psize) const;

Parametri

psize
[out] Puntatore a una SIZE struttura che contiene le dimensioni ideali per il controllo.

Valore restituito

Il valore restituito è sempre TRUE.

Osservazioni:

Questo metodo invia il DTM_GETIDEALSIZE messaggio, descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce la variabile , m_dateTimeCtrl, usata per accedere a livello di codice al controllo selezione data e ora. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice successivo vengono recuperate le dimensioni ideali per visualizzare il controllo selezione data e ora.

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

Imposta la visualizzazione di un controllo selezione data e ora in base a una determinata stringa di formato.

BOOL SetFormat(LPCTSTR pstrFormat);

Parametri

pstrFormat
Puntatore a una stringa di formato con terminazione zero che definisce la visualizzazione desiderata. Se si imposta questo parametro su NULL , il controllo verrà reimpostato sulla stringa di formato predefinita per lo stile corrente.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Nota

L'input dell'utente non determina l'esito positivo o negativo per questa chiamata.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio DTM_SETFORMATWin32 , come descritto in Windows SDK.

Esempio

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

Imposta il colore per una determinata parte del calendario del mese all'interno di un controllo selezione data e ora.

COLORREF SetMonthCalColor(
    int iColor,
    COLORREF ref);

Parametri

iColor
int valore che specifica l'area del controllo del calendario mensile da impostare. Questo valore può essere uno dei seguenti.

Valore Significato
MCSC_BACKGROUND Impostare il colore di sfondo visualizzato tra mesi.
MCSC_MONTHBK Impostare il colore di sfondo visualizzato entro un mese.
MCSC_TEXT Impostare il colore utilizzato per visualizzare il testo entro un mese.
MCSC_TITLEBK Impostare il colore di sfondo visualizzato nel titolo del calendario.
MCSC_TITLETEXT Impostare il colore utilizzato per visualizzare il testo all'interno del titolo del calendario.
MCSC_TRAILINGTEXT Impostare il colore utilizzato per visualizzare il testo dell'intestazione e del giorno finale. Le intestazioni e i giorni finali sono i giorni dei mesi precedenti e successivi visualizzati nel calendario corrente.

ref
Valore COLORREF che rappresenta il colore che verrà impostato per l'area specificata del calendario del mese.

Valore restituito

Valore COLORREF che rappresenta l'impostazione del colore precedente per la parte specificata del controllo calendario del mese, se ha esito positivo. In caso contrario, il messaggio restituisce -1.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio DTM_SETMCCOLORWin32 , come descritto in Windows SDK.

Esempio

Vedere l'esempio per CDateTimeCtrl::GetMonthCalColor.

CDateTimeCtrl::SetMonthCalFont

Imposta il tipo di carattere che verrà utilizzato dal controllo calendario del mese figlio del controllo selezione data e ora.

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

Parametri

hFont
Handle per il tipo di carattere che verrà impostato.

bRedraw
Specifica se il controllo deve essere ridisegnato immediatamente dopo l'impostazione del tipo di carattere. L'impostazione di questo parametro su TRUE fa sì che il controllo si ridisegni.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio DTM_SETMCFONTWin32 , come descritto in Windows SDK.

Esempio

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

Nota

Se si usa questo codice, è necessario creare un membro della CDialogclasse derivata da denominata m_MonthFont di tipo CFont.

CDateTimeCtrl::SetMonthCalStyle

Imposta lo stile del controllo calendario del mese a discesa associato al controllo selezione data e ora corrente.

DWORD SetMonthCalStyle(DWORD dwStyle);

Parametri

dwStyle
[in] Nuovo stile di controllo del calendario mensile, ovvero una combinazione bit per bit (OR) degli stili di controllo del calendario mensile. Per altre informazioni, vedere Stili di controllo del calendario del mese.

Valore restituito

Stile precedente del controllo calendario del mese a discesa.

Osservazioni:

Questo metodo invia il DTM_SETMCSTYLE messaggio, descritto in Windows SDK.

Esempio

Il primo esempio di codice definisce la variabile , m_dateTimeCtrl, usata per accedere a livello di codice al controllo selezione data e ora. Questa variabile viene usata nell'esempio riportato di seguito.

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

Nell'esempio di codice successivo viene impostato il controllo selezione data e ora per visualizzare i numeri delle settimane, i nomi abbreviati dei giorni della settimana e nessun indicatore di oggi.

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

Imposta le ore di sistema minime e massime consentite per un controllo selezione data e ora.

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

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

Parametri

pMinRange
Puntatore a un COleDateTime oggetto o a un CTime oggetto contenente la prima volta consentita nell'oggetto CDateTimeCtrl .

pMaxRange
Puntatore a un COleDateTime oggetto o a un CTime oggetto contenente l'ora più recente consentita nell'oggetto CDateTimeCtrl .

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio DTM_SETRANGEWin32 , come descritto in Windows SDK. Nell'implementazione di MFC è possibile specificare o COleDateTime CTime utilizzi. Se l'oggetto COleDateTime ha uno NULL stato, l'intervallo verrà rimosso. Se il CTime puntatore o il COleDateTime puntatore è NULL, l'intervallo verrà rimosso.

Esempio

Vedere l'esempio per CDateTimeCtrl::GetRange.

CDateTimeCtrl::SetTime

Imposta l'ora in un controllo selezione data e ora.

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

Parametri

timeNew
Riferimento a un COleDateTime oggetto contenente l'oggetto a cui verrà impostato il controllo.

pTimeNew
Nella seconda versione precedente, un puntatore a un CTime oggetto contenente l'ora in cui verrà impostato il controllo. Nella terza versione precedente, un puntatore a una SYSTEMTIME struttura contenente l'ora in cui verrà impostato il controllo.

Valore restituito

Diverso da zero se ha esito positivo; in caso contrario 0.

Osservazioni:

Questa funzione membro implementa il comportamento del messaggio DTM_SETSYSTEMTIMEWin32 , come descritto in Windows SDK. Nell'implementazione MFC di SetTimeè possibile usare le COleDateTime classi o CTime oppure è possibile usare una SYSTEMTIME struttura per impostare le informazioni sull'ora.

Esempio

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

Vedi anche

Esempio MFC CMNCTRL1
CWnd Classe
Grafico della gerarchia
CMonthCalCtrl Classe