Clase CDateTimeCtrl

Encapsula la funcionalidad de un control selector de fecha y hora.

Sintaxis

class CDateTimeCtrl : public CWnd

Miembros

Constructores públicos

Nombre Descripción
CDateTimeCtrl::CDateTimeCtrl Construye un objeto CDateTimeCtrl.

Métodos públicos

Nombre Descripción
CDateTimeCtrl::CloseMonthCal Cierra el control de selector de fecha y hora actual.
CDateTimeCtrl::Create Crea el control de selector de fecha y hora y lo adjunta al objeto CDateTimeCtrl.
CDateTimeCtrl::GetDateTimePickerInfo Recupera información sobre el control de selector de fecha y hora actual.
CDateTimeCtrl::GetIdealSize Devuelve el tamaño ideal del control de selector de fecha y hora necesario para mostrar la fecha u hora actuales.
CDateTimeCtrl::GetMonthCalColor Recupera el color de una parte determinada del calendario del mes dentro del control selector de fecha y hora.
CDateTimeCtrl::GetMonthCalCtrl Recupera el objeto CMonthCalCtrl asociado al control selector de fecha y hora.
CDateTimeCtrl::GetMonthCalFont Recupera la fuente usada actualmente por el control de calendario del mes secundario del selector de fecha y hora.
CDateTimeCtrl::GetMonthCalStyle Obtiene el estilo del control de selector de fecha y hora actual.
CDateTimeCtrl::GetRange Recupera las horas del sistema mínimas y máximas permitidas actuales para un control de selector de fecha y hora.
CDateTimeCtrl::GetTime Recupera la hora seleccionada actualmente a partir de un control selector de fecha y hora y la coloca en una estructura SYSTEMTIME especificada.
CDateTimeCtrl::SetFormat Establece la presentación de un control selector de fecha y hora de acuerdo con una cadena de formato determinada.
CDateTimeCtrl::SetMonthCalColor Establece el color de una parte determinada del calendario del mes dentro de un control selector de fecha y hora.
CDateTimeCtrl::SetMonthCalFont Establece la fuente que usará el control de calendario del mes secundario del selector de fecha y hora.
CDateTimeCtrl::SetMonthCalStyle Establece el estilo del control de selector de fecha y hora actual.
CDateTimeCtrl::SetRange Establece las horas del sistema mínimas y máximas permitidas actuales para un control de selector de fecha y hora.
CDateTimeCtrl::SetTime Establece la hora en un control selector de fecha y hora.

Comentarios

El control selector de fecha y hora (control DTP) proporciona una interfaz sencilla para intercambiar información de fecha y hora con un usuario. Esta interfaz contiene campos, cada uno de los cuales muestra una parte de la información de fecha y hora almacenada en el control . El usuario puede cambiar la información almacenada en el control cambiando el contenido de la cadena en un campo determinado. El usuario puede pasar de campo a campo mediante el mouse o el teclado.

Puede personalizar el control de selector de fecha y hora aplicando una variedad de estilos al objeto al crearlo. Consulte Estilos de control selector de fecha y hora en Windows SDK para obtener más información sobre los estilos específicos del control selector de fecha y hora. Puede establecer el formato de presentación del control DTP mediante estilos de formato. Estos estilos de formato se describen en "Estilos de formato" en el tema de Windows SDK Estilos de control del selector de fecha y hora.

El control selector de fecha y hora también usa notificaciones y devoluciones de llamada, que se describen en Uso de CDateTimeCtrl.

Jerarquía de herencia

CObject

CCmdTarget

CWnd

CDateTimeCtrl

Requisitos

Encabezadoafxdtctl.h:

CDateTimeCtrl::CDateTimeCtrl

Construye un objeto CDateTimeCtrl.

CDateTimeCtrl();

CDateTimeCtrl::CloseMonthCal

Cierra el control de selector de fecha y hora actual.

void CloseMonthCal() const;

Comentarios

Al usar este método, se envía el mensaje DTM_CLOSEMONTHCAL, que se describe en Windows SDK.

Ejemplo

El primer ejemplo de código define la variable, m_dateTimeCtrl, que se utiliza para acceder mediante programación al control del selector de fecha y hora. Esta variable se utiliza en el siguiente ejemplo.

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

En el siguiente ejemplo de código se cierra el calendario desplegable para el control de selector de fecha y hora actual.

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

CDateTimeCtrl::Create

Crea el control de selector de fecha y hora y lo adjunta al objeto CDateTimeCtrl.

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

Parámetros

dwStyle
Especifica la combinación de estilos de control de fecha y hora. Consulte Estilos de control del selector de fecha y hora en Windows SDK para obtener más información sobre los estilos de selector de fecha y hora.

rect
Referencia a una estructura RECT, que es la posición y el tamaño del control del selector de fecha y hora.

pParentWnd
Puntero a un objeto CWnd que es la ventana primaria del control del selector de fecha y hora. Este valor no debe ser NULL.

nID
Especifica el identificador de control del selector de fecha y hora.

Valor devuelto

Distinto de cero si la función se ha ejecutado correctamente; de lo contrario, 0.

Comentarios

Creación del control de selector de fecha y hora
  1. Llame a CDateTimeCtrl para construir un objeto CDateTimeCtrl.

  2. Llame a esta función miembro, que crea el control del selector de fecha y hora de Windows y lo adjunta al objeto CDateTimeCtrl.

Cuando se llama a Create, se inicializan los controles habituales.

Ejemplo

// 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 información sobre el control de selector de fecha y hora actual.

BOOL GetDateTimePickerInfo(LPDATETIMEPICKERINFO pDateTimePickerInfo) const;

Parámetros

pDateTimePickerInfo
Puntero a una estructura DATETIMEPICKERINFO que recibe una descripción del control del selector de fecha y hora actual. El autor de la llamada es responsable de asignar esta estructura. Sin embargo, este método inicializa el miembro cbSize de la estructura.

Valor devuelto

TRUE si este método es correcto; en caso contrario, FALSE.

Comentarios

Al usar este método, se envía el mensaje DTM_GETDATETIMEPICKERINFO, que se describe en Windows SDK.

Ejemplo

El primer ejemplo de código define la variable, m_dateTimeCtrl, que se utiliza para acceder mediante programación al control del selector de fecha y hora. Esta variable se utiliza en el siguiente ejemplo.

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

El siguiente ejemplo de código indica si recupera correctamente información sobre el control de selector de fecha y hora actual.

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 el color de una parte determinada del calendario del mes dentro del control selector de fecha y hora.

COLORREF GetMonthCalColor(int iColor) const;

Parámetros

iColor
Valor int que especifica el área de color del calendario del mes que se va a recuperar. Para ver una lista de valores, consulte el parámetro iColor para SetMonthCalColor.

Valor devuelto

Valor COLORREF que representa la configuración de color para la parte especificada del control de calendario mensual, si se ejecuta correctamente. La función devuelve -1 si no se realiza correctamente.

Comentarios

En esta función miembro, se implementa el comportamiento del mensaje DTM_GETMCCOLOR de Win32, tal y como se describe en Windows SDK.

Ejemplo

// 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 el objeto CMonthCalCtrl asociado al control selector de fecha y hora.

CMonthCalCtrl* GetMonthCalCtrl() const;

Valor devuelto

Puntero a un objetoCMonthCalCtrl, o NULL si no se realiza correctamente o si la ventana no está visible.

Comentarios

Los controles selectores de fecha y hora crean un control de calendario de mes secundario cuando el usuario selecciona la flecha desplegable. Cuando el objeto CMonthCalCtrl ya no es necesario, se destruye, por lo que la aplicación no debe depender del almacenamiento del objeto que representa el calendario del mes secundario del selector de fecha y hora.

Ejemplo

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

Recupera la fuente usada actualmente por el control de calendario del mes secundario del selector de fecha y hora.

CFont* GetMonthCalFont() const;

Valor devuelto

Puntero a un objeto CFont o NULL si no se realiza correctamente.

Comentarios

El objeto CFont al que apunta el valor devuelto es un objeto temporal y se destruye durante el siguiente tiempo de procesamiento inactivo.

CDateTimeCtrl::GetMonthCalStyle

Obtiene el estilo del control de calendario de mes desplegable asociado al control de selector de fecha y hora actual.

DWORD GetMonthCalStyle() const;

Valor devuelto

Estilo del control de calendario de mes desplegable, que es una combinación bit a bit (OR) de estilos de control de selector de fecha y hora. Para obtener más información, vea Estilos de control de calendario de mes.

Comentarios

Al usar este método, se envía el mensaje DTM_GETMCSTYLE, que se describe en Windows SDK.

CDateTimeCtrl::GetRange

Recupera las horas del sistema mínimas y máximas permitidas actuales para un control de selector de fecha y hora.

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

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

Parámetros

pMinRange
Puntero a un objeto COleDateTime o un objeto CTime que contiene la hora más temprana permitida en el objeto CDateTimeCtrl.

pMaxRange
Puntero a un objeto COleDateTime o un objeto CTime que contiene la hora más temprana permitida en el objeto CDateTimeCtrl.

Valor devuelto

Valor DWORD que contiene marcas que indican qué intervalos se establecen. Si

return value & GDTR_MAX == 0

a continuación, el segundo parámetro es válido. Del mismo modo, si

return value & GDTR_MIN == 0

entonces el primer parámetro es válido.

Comentarios

En esta función miembro, se implementa el comportamiento del mensaje DTM_GETRANGE de Win32, tal y como se describe en Windows SDK. En la implementación de MFC, puede especificar tanto COleDateTime como CTime usos.

Ejemplo

// 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 la hora seleccionada actualmente a partir de un control selector de fecha y hora y la coloca en una estructura SYSTEMTIME especificada.

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

Parámetros

timeDest
En la primera versión, una referencia a un objeto COleDateTime que recibirá la información de tiempo del sistema. En la segunda versión, una referencia a un objeto CTime que recibirá la información de tiempo del sistema.

pTimeDest
Puntero a la estructura SYSTEMTIME para recibir la información de tiempo del sistema. No debe ser NULL.

Valor devuelto

En la primera versión, distinto de cero si la hora se escribe correctamente en el objeto COleDateTime; en caso contrario, 0. En la segunda y tercera versión, un valor DWORD igual al miembro dwFlag establecido en la estructura NMDATETIMECHANGE. Para obtener más información, vea la sección Comentarios, más adelante.

Comentarios

En esta función miembro, se implementa el comportamiento del mensaje DTM_GETSYSTEMTIME de Win32, tal y como se describe en Windows SDK. En la implementación de MFC de GetTime, puede usar las clases COleDateTime o CTime, o puede usar una estructura SYSTEMTIME para almacenar la información de tiempo.

El valor DWORD devuelto en la segunda y tercera versión anterior indica si el control de selector de fecha y hora está establecido en el estado "sin fecha", como se indica en el miembroNMDATETIMECHANGE de la estructura dwFlags. Si el valor devuelto es igual a GDT_NONE, el control se establece en el estado "sin fecha" y usa el estilo DTS_SHOWNONE. Si el valor devuelto es igual a GDT_VALID, la hora del sistema se almacena correctamente en la ubicación de destino.

Ejemplo

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

Devuelve el tamaño ideal del control de selector de fecha y hora necesario para mostrar la fecha u hora actuales.

BOOL GetIdealSize(LPSIZE psize) const;

Parámetros

psize
Puntero a una estructura SIZE que contiene el tamaño ideal para el control.

Valor devuelto

El valor devuelto siempre TRUEes .

Comentarios

Al usar este método, se envía el mensaje DTM_GETIDEALSIZE, que se describe en Windows SDK.

Ejemplo

El primer ejemplo de código define la variable, m_dateTimeCtrl, que se utiliza para acceder mediante programación al control del selector de fecha y hora. Esta variable se utiliza en el siguiente ejemplo.

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

En el ejemplo de código siguiente se recupera el tamaño ideal para mostrar el control de selector de fecha y hora.

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

Establece la presentación de un control selector de fecha y hora de acuerdo con una cadena de formato determinada.

BOOL SetFormat(LPCTSTR pstrFormat);

Parámetros

pstrFormat
Puntero a una cadena de formato terminada en cero que define la presentación deseada. Al establecer este parámetro en NULL, se restablecerá el control a la cadena de formato predeterminada para el estilo actual.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Nota:

La entrada del usuario no determina el éxito ni el error de esta llamada.

Comentarios

En esta función miembro, se implementa el comportamiento del mensaje DTM_SETFORMAT de Win32, tal y como se describe en Windows SDK.

Ejemplo

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

Establece el color de una parte determinada del calendario del mes dentro de un control selector de fecha y hora.

COLORREF SetMonthCalColor(
    int iColor,
    COLORREF ref);

Parámetros

iColor
El valor int especifica el área del control de calendario del mes que se va a establecer. Puede tomar uno de los valores siguientes.

Valor Significado
MCSC_BACKGROUND Establece el color de fondo mostrado entre meses.
MCSC_MONTHBK Establece el color de fondo que se muestra dentro del mes.
MCSC_TEXT Establece el color usado para mostrar texto en un mes.
MCSC_TITLEBK Establece el color de fondo que se muestra en el título del calendario.
MCSC_TITLETEXT Establece el color usado para mostrar texto en el título del calendario.
MCSC_TRAILINGTEXT Establece el color usado para mostrar el texto de los días de encabezado y finales. Los días de encabezado y finales son los días de los meses anterior y siguiente que aparecen en el calendario actual.

ref
Valor COLORREF que representa el color que se establecerá para el área especificada del calendario del mes.

Valor devuelto

Valor COLORREF que representa la configuración de color anterior para la parte especificada del control de calendario mensual, si se ejecuta correctamente. De lo contrario, este mensaje devuelve -1.

Comentarios

En esta función miembro, se implementa el comportamiento del mensaje DTM_SETMCCOLOR de Win32, tal y como se describe en Windows SDK.

Ejemplo

Vea el ejemplo de CDateTimeCtrl::GetMonthCalColor.

CDateTimeCtrl::SetMonthCalFont

Establece la fuente que usará el control de calendario del mes secundario del selector de fecha y hora.

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

Parámetros

hFont
Identificador de la fuente que se establecerá.

bRedraw
Especifica si el control debe volver a dibujarse inmediatamente después de establecer la fuente. Establecer este parámetro en TRUE hace que el control se vuelva a dibujar.

Comentarios

En esta función miembro, se implementa el comportamiento del mensaje DTM_SETMCFONT de Win32, tal y como se describe en Windows SDK.

Ejemplo

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

Si usa este código, querrá crear un miembro de la clase derivada de CDialog denominada m_MonthFont de tipo CFont.

CDateTimeCtrl::SetMonthCalStyle

Establece el estilo del control de calendario de mes desplegable asociado al control de selector de fecha y hora actual.

DWORD SetMonthCalStyle(DWORD dwStyle);

Parámetros

dwStyle
[in] Un nuevo estilo de control de calendario de mes, que es una combinación bit a bit (OR) de estilos de control de calendario de mes. Para obtener más información, vea Estilos de control de calendario de mes.

Valor devuelto

Estilo anterior del control de calendario de mes desplegable.

Comentarios

Al usar este método, se envía el mensaje DTM_SETMCSTYLE, que se describe en Windows SDK.

Ejemplo

El primer ejemplo de código define la variable, m_dateTimeCtrl, que se utiliza para acceder mediante programación al control del selector de fecha y hora. Esta variable se utiliza en el siguiente ejemplo.

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

En el ejemplo de código siguiente se establece el control selector de fecha y hora para mostrar números de semana, nombres abreviados de días de la semana y ningún indicador del día de hoy.

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

Establece las horas del sistema mínimas y máximas permitidas actuales para un control de selector de fecha y hora.

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

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

Parámetros

pMinRange
Puntero a un objeto COleDateTime o un objeto CTime que contiene la hora más temprana permitida en el objeto CDateTimeCtrl.

pMaxRange
Puntero a un objeto COleDateTime o un objeto CTime que contiene la hora más temprana permitida en el objeto CDateTimeCtrl.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

En esta función miembro, se implementa el comportamiento del mensaje DTM_SETRANGE de Win32, tal y como se describe en Windows SDK. En la implementación de MFC, puede especificar tanto COleDateTime como CTime usos. Si el objeto COleDateTime tiene un estado NULL, se quitará el intervalo. Si el puntero CTime o el puntero COleDateTime es NULL, se quitará el intervalo.

Ejemplo

Vea el ejemplo de CDateTimeCtrl::GetRange.

CDateTimeCtrl::SetTime

Establece la hora en un control selector de fecha y hora.

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

Parámetros

timeNew
Referencia a un objeto COleDateTime que contiene el objeto al que se establecerá el control.

pTimeNew
En la segunda versión anterior, un puntero a un objeto CTime que contiene la hora a la que se establecerá el control. En la tercera versión anterior, un puntero a una estructura SYSTEMTIME que contiene la hora a la que se establecerá el control.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

En esta función miembro, se implementa el comportamiento del mensaje DTM_SETSYSTEMTIME de Win32, tal y como se describe en Windows SDK. En la implementación de MFC de SetTime, puede usar las clases COleDateTime o CTime, o puede usar una estructura SYSTEMTIME para almacenar la información de tiempo.

Ejemplo

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

Consulte también

Ejemplo de MFCCMNCTRL1
CWnd (clase)
Gráfico de jerarquías
CMonthCalCtrl (clase)