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
에 설명된 알림 및 콜백도 사용합니다.
상속 계층 구조
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입니다.
설명
날짜 및 시간 선택 컨트롤을 만들려면
개체를 생성하기 위한 호출
CDateTimeCtrl
입니다CDateTimeCtrl
.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
수 있습니다. 개체 NULL
의 COleDateTime
상태가 있으면 범위가 제거됩니다. 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));