다음을 통해 공유


CDateTimeCtrl 수업

날짜 및 시간 선택 컨트롤의 기능을 캡슐화합니다.

구문

class CDateTimeCtrl : public CWnd

멤버

공용 생성자

속성 설명
CDateTimeCtrl::CDateTimeCtrl CDateTimeCtrl 개체를 생성합니다.

공용 메서드

이름 설명
CDateTimeCtrl::CloseMonthCal 현재 날짜 및 시간 선택기 컨트롤을 닫습니다.
CDateTimeCtrl::Create 날짜 및 시간 선택기 컨트롤을 만들어 개체에 CDateTimeCtrl 연결합니다.
CDateTimeCtrl::GetDateTimePickerInfo 현재 날짜 및 시간 선택기 컨트롤에 대한 정보를 검색합니다.
CDateTimeCtrl::GetIdealSize 현재 날짜 또는 시간을 표시하는 데 필요한 날짜 및 시간 선택 컨트롤의 이상적인 크기를 반환합니다.
CDateTimeCtrl::GetMonthCalColor 날짜 및 시간 선택 컨트롤 내에서 월 달력의 지정된 부분에 대한 색을 검색합니다.
CDateTimeCtrl::GetMonthCalCtrl CMonthCalCtrl 날짜 및 시간 선택기 컨트롤과 연결된 개체를 검색합니다.
CDateTimeCtrl::GetMonthCalFont 날짜 및 시간 선택기 컨트롤의 자식 월 달력 컨트롤에서 현재 사용되는 글꼴을 검색합니다.
CDateTimeCtrl::GetMonthCalStyle 현재 날짜 및 시간 선택기 컨트롤의 스타일을 가져옵니다.
CDateTimeCtrl::GetRange 날짜 및 시간 선택기 컨트롤의 현재 최소 및 최대 허용 시스템 시간을 검색합니다.
CDateTimeCtrl::GetTime 날짜 및 시간 선택 컨트롤에서 현재 선택한 시간을 검색하여 지정된 SYSTEMTIME 구조에 넣습니다.
CDateTimeCtrl::SetFormat 지정된 형식 문자열에 따라 날짜 및 시간 선택기 컨트롤의 표시를 설정합니다.
CDateTimeCtrl::SetMonthCalColor 날짜 및 시간 선택 컨트롤 내에서 월 달력의 지정된 부분에 대한 색을 설정합니다.
CDateTimeCtrl::SetMonthCalFont 날짜 및 시간 선택기 컨트롤의 자식 월 달력 컨트롤에서 사용할 글꼴을 설정합니다.
CDateTimeCtrl::SetMonthCalStyle 현재 날짜 및 시간 선택기 컨트롤의 스타일을 설정합니다.
CDateTimeCtrl::SetRange 날짜 및 시간 선택기 컨트롤에 허용되는 최소 및 최대 시스템 시간을 설정합니다.
CDateTimeCtrl::SetTime 날짜 및 시간 선택기 컨트롤의 시간을 설정합니다.

설명

날짜 및 시간 선택 컨트롤(DTP 컨트롤)은 사용자와 날짜 및 시간 정보를 교환하는 간단한 인터페이스를 제공합니다. 이 인터페이스에는 각각 컨트롤에 저장된 날짜 및 시간 정보의 일부를 표시하는 필드가 포함되어 있습니다. 사용자는 지정된 필드에 있는 문자열의 내용을 변경하여 컨트롤에 저장된 정보를 변경할 수 있습니다. 사용자는 마우스 또는 키보드를 사용하여 필드에서 필드로 이동할 수 있습니다.

개체를 만들 때 다양한 스타일을 적용하여 날짜 및 시간 선택기 컨트롤을 사용자 지정할 수 있습니다. 날짜 및 시간 선택 컨트롤과 관련된 스타일에 대한 자세한 내용은 Windows SDK의 날짜 및 시간 선택 컨트롤 스타일을 참조하세요. 서식 스타일을 사용하여 DTP 컨트롤의 표시 형식을 설정할 수 있습니다. 이러한 서식 스타일은 Windows SDK 항목 날짜 및 시간 선택 컨트롤 스타일의 "서식 스타일"에 설명되어 있습니다.

날짜 및 시간 선택 컨트롤은 UsingCDateTimeCtrl설명된 알림 및 콜백도 사용합니다.

상속 계층 구조

CObject

CCmdTarget

CWnd

CDateTimeCtrl

요구 사항

머리글: afxdtctl.h

CDateTimeCtrl::CDateTimeCtrl

CDateTimeCtrl 개체를 생성합니다.

CDateTimeCtrl();

CDateTimeCtrl::CloseMonthCal

현재 날짜 및 시간 선택기 컨트롤을 닫습니다.

void CloseMonthCal() const;

설명

이 메서드는 DTM_CLOSEMONTHCAL Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제에서는 날짜 및 시간 선택기 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_dateTimeCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

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

다음 코드 예제에서는 현재 날짜 및 시간 선택 컨트롤에 대 한 드롭다운 달력을 닫습니다.

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

CDateTimeCtrl::Create

날짜 및 시간 선택기 컨트롤을 만들어 개체에 CDateTimeCtrl 연결합니다.

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

매개 변수

dwStyle
날짜 시간 컨트롤 스타일의 조합을 지정합니다. 날짜 및 시간 선택 스타일에 대한 자세한 내용은 Windows SDK의 날짜 및 시간 선택 컨트롤 스타일을 참조하세요.

rect
날짜 및 시간 선택기 컨트롤의 위치 및 크기인 구조체에 대한 참조 RECT 입니다.

pParentWnd
날짜 및 시간 선택 컨트롤의 부모 창인 개체에 대한 포인터 CWnd 입니다. 해서는 안 됩니다 NULL.

nID
날짜 및 시간 선택 컨트롤의 컨트롤 ID를 지정합니다.

Return Value

생성에 성공하면 0이 아닌 값입니다. 그렇지 않으면 0입니다.

설명

날짜 및 시간 선택 컨트롤을 만들려면
  1. 개체를 생성하기 위한 호출 CDateTimeCtrl 입니다 CDateTimeCtrl .

  2. Windows 날짜 및 시간 선택기 컨트롤을 만들고 개체에 연결하는 이 멤버 함수를 CDateTimeCtrl 호출합니다.

호출 Create할 때 공통 컨트롤이 초기화됩니다.

예시

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

현재 날짜 및 시간 선택기 컨트롤에 대한 정보를 검색합니다.

BOOL GetDateTimePickerInfo(LPDATETIMEPICKERINFO pDateTimePickerInfo) const;

매개 변수

pDateTimePickerInfo
[out] 현재 날짜 및 시간 선택기 컨트롤에 대한 설명을 받는 구조체에 대한 포인터 DATETIMEPICKERINFO 입니다. 호출자는 이 구조를 할당하는 역할을 담당합니다. 그러나 이 메서드는 구조체의 멤버를 cbSize 초기화합니다.

Return Value

TRUE이 메서드가 성공하면 이고, 그렇지 않으면 . FALSE

설명

이 메서드는 DTM_GETDATETIMEPICKERINFO Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제에서는 날짜 및 시간 선택기 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_dateTimeCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

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

다음 코드 예제는 현재 날짜 및 시간 선택기 컨트롤에 대한 정보를 성공적으로 검색하는지 여부를 나타냅니다.

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

날짜 및 시간 선택 컨트롤 내에서 월 달력의 지정된 부분에 대한 색을 검색합니다.

COLORREF GetMonthCalColor(int iColor) const;

매개 변수

iColor
int 검색할 월 달력의 색 영역을 지정하는 값입니다. 값 목록은 에 대한 SetMonthCalColor매개 변수를 iColor 참조하세요.

Return Value

COLORREF 성공하면 월 달력 컨트롤의 지정된 부분에 대한 색 설정을 나타내는 값입니다. 실패하면 함수가 -1을 반환합니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 DTM_GETMCCOLOR의 동작을 구현합니다.

예시

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

CMonthCalCtrl 날짜 및 시간 선택기 컨트롤과 연결된 개체를 검색합니다.

CMonthCalCtrl* GetMonthCalCtrl() const;

Return Value

개체에 대한 CMonthCalCtrl 포인터이거나 NULL , 실패하거나 창이 표시되지 않는 경우

설명

날짜 및 시간 선택 컨트롤은 사용자가 드롭다운 화살표를 선택할 때 자식 월 달력 컨트롤을 만듭니다. 개체가 CMonthCalCtrl 더 이상 필요하지 않으면 삭제되므로 애플리케이션은 날짜 시간 선택기 컨트롤의 자식 월 달력을 나타내는 개체를 저장하지 않아야 합니다.

예시

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

날짜 및 시간 선택기 컨트롤의 월 달력 컨트롤에서 현재 사용되는 글꼴을 가져옵니다.

CFont* GetMonthCalFont() const;

Return Value

개체에 대한 CFont 포인터이거나 NULL 실패한 경우

설명

CFont 반환 값이 가리키는 개체는 임시 개체이며 다음 유휴 처리 시간 동안 제거됩니다.

CDateTimeCtrl::GetMonthCalStyle

현재 날짜 및 시간 선택 컨트롤과 연결된 드롭다운 월 달력 컨트롤의 스타일을 가져옵니다.

DWORD GetMonthCalStyle() const;

Return Value

날짜 및 시간 선택 컨트롤 스타일의 비트 조합(OR)인 드롭다운 월 달력 컨트롤의 스타일입니다. 자세한 내용은 월 달력 컨트롤 스타일을 참조 하세요.

설명

이 메서드는 DTM_GETMCSTYLE Windows SDK에 설명된 메시지를 보냅니다.

CDateTimeCtrl::GetRange

날짜 및 시간 선택기 컨트롤의 현재 최소 및 최대 허용 시스템 시간을 검색합니다.

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

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

매개 변수

pMinRange
개체에 COleDateTime 허용되는 가장 빠른 시간을 포함하는 개체 또는 CTime 개체에 CDateTimeCtrl 대한 포인터입니다.

pMaxRange
개체에 허용되는 최신 시간을 포함하는 개체 또는 CTime 개체에 CDateTimeCtrl 대한 포인터 COleDateTime 입니다.

Return Value

DWORD 설정된 범위를 나타내는 플래그를 포함하는 값입니다. If

return value & GDTR_MAX == 0

그런 다음 두 번째 매개 변수가 유효합니다. 마찬가지로, if

return value & GDTR_MIN == 0

그러면 첫 번째 매개 변수가 유효합니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 DTM_GETRANGE의 동작을 구현합니다. MFC의 구현에서 사용량을 지정할 COleDateTime CTime 수 있습니다.

예시

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

날짜 및 시간 선택 컨트롤에서 현재 선택한 시간을 검색하여 지정된 SYSTEMTIME 구조에 넣습니다.

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

매개 변수

timeDest
첫 번째 버전에서는 시스템 시간 정보를 받을 개체에 대한 참조 COleDateTime 입니다. 두 번째 버전에서는 시스템 시간 정보를 받을 개체에 대한 참조 CTime 입니다.

pTimeDest
시스템 시간 정보를 받을 구조체에 대한 포인터 SYSTEMTIME 입니다. NULL이 아니어야 합니다.

Return Value

첫 번째 버전에서는 시간이 개체에 성공적으로 기록 COleDateTime 되면 0이 아니고, 그렇지 않으면 0입니다. 두 번째 및 세 번째 버전 DWORD 에서는 구조체에 dwFlag 설정된 멤버와 같은 값입니다 NMDATETIMECHANGE . 자세한 내용은 아래 설명 섹션을 참조하세요.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 DTM_GETSYSTEMTIME의 동작을 구현합니다. MFC 구현 GetTime에서 사용하거나 클래스를 사용 COleDateTime 하거나 CTime 구조를 사용하여 SYSTEMTIME 시간 정보를 저장할 수 있습니다.

위의 두 번째 및 세 번째 버전의 반환 값 DWORD 은 구조체 멤버dwFlags에 표시된 NMDATETIMECHANGE 대로 날짜 및 시간 선택기 컨트롤이 "날짜 없음" 상태로 설정되었는지 여부를 나타냅니다. 반환된 값이 GDT_NONE같으면 컨트롤이 "날짜 없음" 상태로 설정되고 스타일을 사용합니다 DTS_SHOWNONE . 반환된 값이 GDT_VALID같으면 시스템 시간이 대상 위치에 성공적으로 저장됩니다.

예시

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

현재 날짜 또는 시간을 표시하는 데 필요한 날짜 및 시간 선택 컨트롤의 이상적인 크기를 반환합니다.

BOOL GetIdealSize(LPSIZE psize) const;

매개 변수

psize
[out] 컨트롤에 SIZE 이상적인 크기를 포함하는 구조체에 대한 포인터입니다.

Return Value

반환 값은 항상 TRUE.

설명

이 메서드는 DTM_GETIDEALSIZE Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제에서는 날짜 및 시간 선택기 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_dateTimeCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

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

다음 코드 예제에서는 날짜 및 시간 선택 컨트롤을 표시 하는 이상적인 크기를 검색 합니다.

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

지정된 형식 문자열에 따라 날짜 및 시간 선택기 컨트롤의 표시를 설정합니다.

BOOL SetFormat(LPCTSTR pstrFormat);

매개 변수

pstrFormat
원하는 디스플레이를 정의하는 0으로 끝나는 형식 문자열에 대한 포인터입니다. 이 매개 변수를 설정하면 NULL 컨트롤이 현재 스타일의 기본 형식 문자열로 다시 설정됩니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

참고 항목

사용자 입력은 이 호출의 성공 또는 실패를 결정하지 않습니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 DTM_SETFORMAT의 동작을 구현합니다.

예시

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

날짜 및 시간 선택 컨트롤 내에서 월 달력의 지정된 부분에 대한 색을 설정합니다.

COLORREF SetMonthCalColor(
    int iColor,
    COLORREF ref);

매개 변수

iColor
int 설정할 월 달력 컨트롤의 영역을 지정하는 값입니다. 이 값은 다음 중 하나일 수 있습니다.

의미
MCSC_BACKGROUND 월 사이에 표시할 배경색을 설정합니다.
MCSC_MONTHBK 한 달 내에 표시되는 배경색을 설정합니다.
MCSC_TEXT 달력의 텍스트를 표시하는 데 사용할 색을 설정합니다.
MCSC_TITLEBK 달력 제목에 표시할 배경색을 설정합니다.
MCSC_TITLETEXT 달력 제목의 텍스트를 표시하는 데 사용할 색을 설정합니다.
MCSC_TRAILINGTEXT 머리글 및 후행 일 텍스트를 표시하는 데 사용되는 색을 설정합니다. 머리글 및 후행일은 현재 달력에 표시되는 이전 및 다음 달의 일입니다.

ref
COLORREF 월 달력의 지정된 영역에 대해 설정할 색을 나타내는 값입니다.

Return Value

COLORREF 성공하면 월 달력 컨트롤의 지정된 부분에 대한 이전 색 설정을 나타내는 값입니다. 그렇지 않으면 메시지는 -1을 반환합니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 DTM_SETMCCOLOR의 동작을 구현합니다.

예시

CDateTimeCtrl::GetMonthCalColor에 대한 예제를 참조하세요.

CDateTimeCtrl::SetMonthCalFont

날짜 및 시간 선택기 컨트롤의 자식 월 달력 컨트롤에서 사용할 글꼴을 설정합니다.

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

매개 변수

hFont
설정할 글꼴에 대한 핸들입니다.

bRedraw
글꼴을 설정할 때 컨트롤을 즉시 다시 그릴지 여부를 지정합니다. 이 매개 변수를 설정하면 TRUE 컨트롤 자체를 다시 그릴 수 있습니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 DTM_SETMCFONT의 동작을 구현합니다.

예시

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

참고 항목

이 코드를 사용하는 경우 형식CFont의 m_MonthFont 호출되는 파생 클래스의 멤버를 만들려고 합니다CDialog.

CDateTimeCtrl::SetMonthCalStyle

현재 날짜 및 시간 선택 컨트롤과 연결된 드롭다운 월 달력 컨트롤의 스타일을 설정합니다.

DWORD SetMonthCalStyle(DWORD dwStyle);

매개 변수

dwStyle
[in] 월 달력 컨트롤 스타일의 비트 조합(OR)인 새 월 달력 컨트롤 스타일입니다. 자세한 내용은 월 달력 컨트롤 스타일을 참조 하세요.

Return Value

드롭다운 월 달력 컨트롤의 이전 스타일입니다.

설명

이 메서드는 DTM_SETMCSTYLE Windows SDK에 설명된 메시지를 보냅니다.

예시

첫 번째 코드 예제에서는 날짜 및 시간 선택기 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_dateTimeCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

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

다음 코드 예제에서는 주 번호, 축약된 요일 이름 및 오늘 표시기를 표시하도록 날짜 및 시간 선택 컨트롤을 설정합니다.

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

날짜 및 시간 선택기 컨트롤에 허용되는 최소 및 최대 시스템 시간을 설정합니다.

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

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

매개 변수

pMinRange
개체에 COleDateTime 허용되는 가장 빠른 시간을 포함하는 개체 또는 CTime 개체에 CDateTimeCtrl 대한 포인터입니다.

pMaxRange
개체에 허용되는 최신 시간을 포함하는 개체 또는 CTime 개체에 CDateTimeCtrl 대한 포인터 COleDateTime 입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 DTM_SETRANGE의 동작을 구현합니다. MFC의 구현에서 사용량을 지정할 COleDateTime CTime 수 있습니다. 개체 NULLCOleDateTime 상태가 있으면 범위가 제거됩니다. CTime 포인터 또는 포인터가 COleDateTime NULL있으면 범위가 제거됩니다.

예시

CDateTimeCtrl::GetRange에 대한 예를 참조하세요.

CDateTimeCtrl::SetTime

날짜 및 시간 선택기 컨트롤의 시간을 설정합니다.

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

매개 변수

timeNew
컨트롤을 COleDateTime 설정할 개체에 대한 참조입니다.

pTimeNew
위의 두 번째 버전에서는 컨트롤이 설정될 시간을 포함하는 개체에 대한 포인터 CTime 입니다. 위의 세 번째 버전에서는 컨트롤을 설정할 시간을 포함하는 구조체에 대한 포인터 SYSTEMTIME 입니다.

Return Value

성공하면 0이 아니고, 그렇지 않으면 0입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 DTM_SETSYSTEMTIME의 동작을 구현합니다. MFC 구현 SetTime에서 또는 클래스를 COleDateTime 사용하거나 CTime 구조를 사용하여 SYSTEMTIME 시간 정보를 설정할 수 있습니다.

예시

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

참고 항목

MFC 샘플 CMNCTRL1
CWnd 클래스
계층 구조 차트
CMonthCalCtrl 클래스