다음을 통해 공유


CMonthCalCtrl 클래스

달력 컨트롤의 기능을 캡슐화합니다.

구문

class CMonthCalCtrl : public CWnd

멤버

공용 생성자

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

공용 메서드

이름 설명
CMonthCalCtrl::Create 월 달력 컨트롤을 만들어 개체에 CMonthCalCtrl 연결합니다.
CMonthCalCtrl::GetCalendarBorder 현재 월 달력 컨트롤의 테두리 너비를 검색합니다.
CMonthCalCtrl::GetCalendarCount 현재 월 달력 컨트롤에 표시되는 일정 수를 검색합니다.
CMonthCalCtrl::GetCalendarGridInfo 현재 월 달력 컨트롤에 대한 정보를 검색합니다.
CMonthCalCtrl::GetCalID 현재 월 달력 컨트롤의 달력 식별자를 검색합니다.
CMonthCalCtrl::GetColor 월 달력 컨트롤의 지정된 영역 색을 가져옵니다.
CMonthCalCtrl::GetCurrentView 현재 월 달력 컨트롤에 의해 현재 표시되는 보기를 검색합니다.
CMonthCalCtrl::GetCurSel 현재 선택한 날짜에 표시된 대로 시스템 시간을 검색합니다.
CMonthCalCtrl::GetFirstDayOfWeek 달력의 맨 왼쪽 열에 표시할 요일을 가져옵니다.
CMonthCalCtrl::GetMaxSelCount 월 달력 컨트롤에서 선택할 수 있는 현재 최대 일 수를 검색합니다.
CMonthCalCtrl::GetMaxTodayWidth 현재 월 달력 컨트롤에 대한 "Today" 문자열의 최대 너비를 검색합니다.
CMonthCalCtrl::GetMinReqRect 월 달력 컨트롤에서 전체 월을 표시하는 데 필요한 최소 크기를 검색합니다.
CMonthCalCtrl::GetMonthDelta 월 캘린더 컨트롤의 스크롤 속도를 검색합니다.
CMonthCalCtrl::GetMonthRange 월 달력 컨트롤 표시의 높음 및 낮음 제한을 나타내는 날짜 정보를 검색합니다.
CMonthCalCtrl::GetRange 월 달력 컨트롤에 설정된 현재 최소 및 최대 날짜를 검색합니다.
CMonthCalCtrl::GetSelRange 사용자가 현재 선택한 날짜 범위의 상한 및 하한을 나타내는 날짜 정보를 검색합니다.
CMonthCalCtrl::GetToday 월 달력 컨트롤에 대해 "today"로 지정된 날짜의 날짜 정보를 검색합니다.
CMonthCalCtrl::HitTest 화면의 지정된 지점에 있는 월 달력 컨트롤의 섹션을 결정합니다.
CMonthCalCtrl::IsCenturyView 현재 월 달력 컨트롤의 현재 뷰가 세기 보기인지 여부를 나타냅니다.
CMonthCalCtrl::IsDecadeView 현재 월 달력 컨트롤의 현재 보기가 10년 보기인지 여부를 나타냅니다.
CMonthCalCtrl::IsMonthView 현재 월 달력 컨트롤의 현재 보기가 월 보기인지 여부를 나타냅니다.
CMonthCalCtrl::IsYearView 현재 월 달력 컨트롤의 현재 보기가 연도 보기인지 여부를 나타냅니다.
CMonthCalCtrl::SetCalendarBorder 현재 월 달력 컨트롤의 테두리 너비를 설정합니다.
CMonthCalCtrl::SetCalendarBorderDefault 현재 월 달력 컨트롤 테두리의 기본 너비를 설정합니다.
CMonthCalCtrl::SetCalID 현재 월 달력 컨트롤의 달력 식별자를 설정합니다.
CMonthCalCtrl::SetCenturyView 세기 보기를 표시하도록 현재 월 달력 컨트롤을 설정합니다.
CMonthCalCtrl::SetColor 월 달력 컨트롤의 지정된 영역 색을 설정합니다.
CMonthCalCtrl::SetCurrentView 지정된 보기를 표시하도록 현재 월 달력 컨트롤을 설정합니다.
CMonthCalCtrl::SetCurSel 월 달력 컨트롤에 대해 현재 선택한 날짜를 설정합니다.
CMonthCalCtrl::SetDayState 월 달력 컨트롤의 일 단위로 표시를 설정합니다.
CMonthCalCtrl::SetDecadeView 현재 월 달력 컨트롤을 10년 보기로 설정합니다.
CMonthCalCtrl::SetFirstDayOfWeek 달력의 맨 왼쪽 열에 표시할 요일을 설정합니다.
CMonthCalCtrl::SetMaxSelCount 월 달력 컨트롤에서 선택할 수 있는 최대 일수를 설정합니다.
CMonthCalCtrl::SetMonthDelta 월 달력 컨트롤에 대한 스크롤 비율을 설정합니다.
CMonthCalCtrl::SetMonthView 월 보기를 표시하도록 현재 월 달력 컨트롤을 설정합니다.
CMonthCalCtrl::SetRange 월 달력 컨트롤의 최소 및 최대 허용 날짜를 설정합니다.
CMonthCalCtrl::SetSelRange 월 달력 컨트롤에 대한 선택을 지정된 날짜 범위로 설정합니다.
CMonthCalCtrl::SetToday 현재 날짜의 달력 컨트롤을 설정합니다.
CMonthCalCtrl::SetYearView 현재 월 달력 컨트롤을 연도 보기로 설정합니다.
CMonthCalCtrl::SizeMinReq 월 달력 컨트롤을 최소 1개월 크기로 다시 칠합니다.
CMonthCalCtrl::SizeRectToMin 현재 월 달력 컨트롤의 경우 지정된 사각형에 맞는 모든 달력을 포함할 수 있는 가장 작은 사각형을 계산합니다.

설명

월 달력 컨트롤은 사용자가 날짜를 선택할 수 있는 간단한 일정 인터페이스를 사용자에게 제공합니다. 사용자는 다음을 통해 표시를 변경할 수 있습니다.

  • 월에서 월로 앞뒤로 스크롤합니다.

  • 오늘 텍스트를 클릭하여 현재 날짜(MCS_NOTODAY 스타일을 사용하지 않는 경우)를 표시합니다.

  • 팝업 메뉴에서 한 달 또는 1년을 선택합니다.

만들 때 개체에 다양한 스타일을 적용하여 월 달력 컨트롤을 사용자 지정할 수 있습니다. 이러한 스타일은 Windows SDK의 월 달력 컨트롤 스타일 에 설명되어 있습니다.

월 달력 컨트롤은 1개월 이상 표시할 수 있으며 날짜를 굵게 표시하여 특별일(예: 휴일)을 나타낼 수 있습니다.

월 달력 컨트롤 사용에 대한 자세한 내용은 CMonthCalCtrl 사용을 참조 하세요.

상속 계층 구조

CObject

CCmdTarget

CWnd

CMonthCalCtrl

요구 사항

헤더: afxdtctl.h

CMonthCalCtrl::CMonthCalCtrl

CMonthCalCtrl 개체를 생성합니다.

CMonthCalCtrl();

설명

개체를 생성한 후에 호출 Create 해야 합니다.

CMonthCalCtrl::Create

월 달력 컨트롤을 만들어 개체에 CMonthCalCtrl 연결합니다.

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

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

매개 변수

dwStyle
월 달력 컨트롤에 적용된 Windows 스타일의 조합을 지정합니다. 스타일에 대한 자세한 내용은 Windows SDK의 월 달력 컨트롤 스타일을 참조하세요.

rect
RECT 구조체에 대한 참조입니다 . 월 달력 컨트롤의 위치와 크기를 포함합니다.

pt
월 달력 컨트롤의 위치를 식별하는 POINT 구조체에 대한 참조입니다.

pParentWnd
월 달력 컨트롤의 부모 창인 CWnd 개체에 대한 포인터입니다. NULL이 아니어야 합니다.

nID
월 달력 컨트롤의 컨트롤 ID를 지정합니다.

Return Value

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

설명

다음 두 단계로 월 달력 컨트롤을 만듭니다.

  1. CMonthCalCtrl을 호출하여 개체를 생성합니다CMonthCalCtrl.

  2. 월 달력 컨트롤을 만들어 개체에 연결하는 이 멤버 함수를 CMonthCalCtrl 호출합니다.

호출 Create할 때 공통 컨트롤이 초기화됩니다. 호출 버전 Create 에 따라 크기가 결정됩니다.

  • MFC가 컨트롤의 크기를 자동으로 1개월로 조정하려면 pt 매개 변수를 사용하는 재정의를 호출합니다.

  • 컨트롤 크기를 직접 조정하려면 rect 매개 변수를 사용하는 이 함수의 재정의를 호출합니다.

예시

// Given two member objects m_calCtrl1 and m_calCtrl2, we can
// create them in one of two ways.

// Providing a point has the control with its top-left corner
// at that point and sized automatically to show one month
// page.

CPoint pt(10, 10);
VERIFY(m_calCtrl1.Create(WS_TABSTOP | WS_CHILD | WS_VISIBLE |
                             WS_BORDER | MCS_DAYSTATE,
                         pt, this, IDC_MONTHCALCTRL1));

// Providing a rectangle lets us completely control the size.
// The control will paint as many complete month pages in the
// control's area as possible.

CRect rect(300, 100, 470, 200);
VERIFY(m_calCtrl2.Create(WS_TABSTOP | WS_CHILD | WS_VISIBLE |
                             WS_BORDER | MCS_MULTISELECT,
                         rect, this, IDC_MONTHCALCTRL2));

CMonthCalCtrl::GetCalendarBorder

현재 월 달력 컨트롤의 테두리 너비를 검색합니다.

int GetCalendarBorder() const;

Return Value

컨트롤 테두리의 너비(픽셀)입니다.

설명

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

CMonthCalCtrl::GetCalendarCount

현재 월 달력 컨트롤에 표시되는 일정 수를 검색합니다.

int GetCalendarCount() const;

Return Value

월 달력 컨트롤에 현재 표시되는 일정 수입니다. 허용되는 최대 일정 수는 12개입니다.

설명

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

CMonthCalCtrl::GetCalendarGridInfo

현재 월 달력 컨트롤에 대한 정보를 검색합니다.

BOOL GetCalendarGridInfo(PMCGRIDINFO pmcGridInfo) const;

매개 변수

pmcGridInfo
[out] 현재 월 달력 컨트롤에 대한 정보를 수신하는 MCGRIDINFO 구조체에 대한 포인터입니다. 호출자는 이 구조를 할당하고 초기화합니다.

Return Value

이 메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

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

예시

첫 번째 코드 예제에서는 월 달력 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_monthCalCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

다음 코드 예제에서는 메서드를 GetCalendarGridInfo 사용하여 현재 월 달력 컨트롤이 표시하는 달력 날짜를 검색합니다.

WCHAR name[26];
name[0] = _T('\0');
MCGRIDINFO gridInfo;
gridInfo.cbSize = sizeof(MCGRIDINFO);
gridInfo.dwPart = MCGIP_CALENDARHEADER;
gridInfo.dwFlags = MCGIF_NAME;
gridInfo.iCalendar = 0;
gridInfo.pszName = reinterpret_cast<PWSTR>(&name);
gridInfo.cchName = sizeof(name);

m_monthCalCtrl.GetCalendarGridInfo(&gridInfo);

CString str;
CString calendarDate(name);
str.Format(_T("Calendar date: '%s'"), calendarDate);
AfxMessageBox(str, MB_ICONINFORMATION);

CMonthCalCtrl::GetCalID

현재 월 달력 컨트롤의 달력 식별자를 검색합니다.

CALID GetCalID() const;

Return Value

달력 식별자 상수 중 하나입니다.

설명

달력 식별자는 그레고리오력(지역화), 일본어 또는 히즈리 달력과 같은 지역별 달력을 나타냅니다. 애플리케이션은 다양한 언어 지원 기능이 있는 일정 식별자를 사용할 수 있습니다.

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

CMonthCalCtrl::GetColor

nRegion으로 지정된 월 달력 컨트롤 영역의 색을 검색합니다.

COLORREF GetColor(int nRegion) const;

매개 변수

nRegion
색을 검색할 월 달력 컨트롤의 영역입니다. 값 목록은 SetColor의 nRegion 매개 변수 를 참조하세요.

Return Value

성공하면 월 달력 컨트롤의 부분과 연결된 색을 지정하는 COLORREF 값입니다. 그렇지 않으면 이 멤버 함수는 -1을 반환합니다.

CMonthCalCtrl::GetCurrentView

현재 월 달력 컨트롤에 의해 현재 표시되는 보기를 검색합니다.

DWORD GetCurrentView() const;

Return Value

현재 뷰는 다음 값 중 하나로 표시됩니다.

의미
MCMV_MONTH 월별 보기
MCMV_YEAR 연간 보기
MCMV_DECADE 10년 보기
MCMV_CENTURY 세기 보기

설명

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

예시

첫 번째 코드 예제에서는 월 달력 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_monthCalCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

다음 코드 예제에서는 현재 표시되는 월 달력 컨트롤을 보는 보고서입니다.

CString str;
CString msg = _T("The current calendar displays %s view.");
DWORD view = m_monthCalCtrl.GetCurrentView();
switch (view)
{
case MCMV_MONTH:
   str.Format(msg, _T("month"));
   break;
case MCMV_YEAR:
   str.Format(msg, _T("year"));
   break;
case MCMV_DECADE:
   str.Format(msg, _T("decade"));
   break;
case MCMV_CENTURY:
   str.Format(msg, _T("century"));
   break;
default:
   str.Format(msg, _T("an unknown"));
   break;
}
AfxMessageBox(str, MB_ICONINFORMATION);

CMonthCalCtrl::GetCurSel

현재 선택한 날짜에 표시된 대로 시스템 시간을 검색합니다.

BOOL GetCurSel(COleDateTime& refDateTime) const;  BOOL GetCurSel(CTime& refDateTime) const;

BOOL GetCurSel(LPSYSTEMTIME pDateTime) const;

매개 변수

refDateTime
COleDateTime 개체 또는 CTime 개체에 대한 참조입니다. 현재 시간을 받습니다.

pDateTime
현재 선택한 날짜 정보를 받을 SYSTEMTIME 구조체에 대한 포인터입니다. 이 매개 변수는 유효한 주소여야 하며 NULL일 수 없습니다.

Return Value

성공하면 0이 아닌 값입니다. otherwize 0입니다.

설명

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

참고 항목

스타일 MCS_MULTISELECT 설정되면 이 멤버 함수가 실패합니다.

MFC의 구현GetCurSel에서 사용량, CTime 사용량 또는 SYSTEMTIME 구조체 사용을 지정할 COleDateTime 수 있습니다.

CMonthCalCtrl::GetFirstDayOfWeek

달력의 맨 왼쪽 열에 표시할 요일을 가져옵니다.

int GetFirstDayOfWeek(BOOL* pbLocal = NULL) const;

매개 변수

pbLocal
BOOL 값에 대한 포인터입니다. 값이 0이 아니면 컨트롤의 설정이 제어판의 설정과 일치하지 않습니다.

Return Value

요일을 나타내는 정수 값입니다. 이러한 정수가 나타내는 내용에 대한 자세한 내용은 비고를 참조하세요.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 MCM_GETFIRSTDAYOFWEEK 동작을 구현합니다. 요일은 다음과 같이 정수로 표시됩니다.

요일
0 월요일
1 화요일
2 수요일
3 목요일
4 금요일
5 토요일
6 일요일

예시

CMonthCalCtrl::SetFirstDayOfWeek에 대한 예제를 참조하세요.

CMonthCalCtrl::GetMaxSelCount

월 달력 컨트롤에서 선택할 수 있는 현재 최대 일 수를 검색합니다.

int GetMaxSelCount() const;

Return Value

컨트롤에 대해 선택할 수 있는 총 일 수를 나타내는 정수 값입니다.

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 MCM_GETMAXSELCOUNT 동작을 구현합니다. MCS_MULTISELECT 스타일 집합이 있는 컨트롤에 이 멤버 함수를 사용합니다.

예시

CMonthCalCtrl::SetMaxSelCount에 대한 예제를 참조하세요.

CMonthCalCtrl::GetMaxTodayWidth

현재 월 달력 컨트롤에 대한 "Today" 문자열의 최대 너비를 검색합니다.

DWORD GetMaxTodayWidth() const;

Return Value

"Today" 문자열의 너비(픽셀)입니다.

예시

첫 번째 코드 예제에서는 월 달력 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_monthCalCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

다음 코드 예제에서는 메서드를 보여 줍니다 GetMaxTodayWidth .

DWORD width = m_monthCalCtrl.GetMaxTodayWidth();
CString str;
str.Format(_T("The maximum today width is %d."), width);
AfxMessageBox(str, MB_ICONINFORMATION);

설명

사용자는 월 달력 컨트롤의 맨 아래에 표시되는 "오늘" 문자열을 클릭하여 현재 날짜로 돌아갈 수 있습니다. "오늘" 문자열에는 레이블 텍스트와 날짜 텍스트가 포함됩니다.

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

CMonthCalCtrl::GetMinReqRect

월 달력 컨트롤에서 전체 월을 표시하는 데 필요한 최소 크기를 검색합니다.

BOOL GetMinReqRect(RECT* pRect) const;

매개 변수

pRect
경계 사각형 정보를 받을 RECT 구조체에 대한 포인터입니다. 이 매개 변수는 유효한 주소여야 하며 NULL일 수 없습니다.

Return Value

성공하면 이 멤버 함수는 0이 아닌 값을 반환하고 lpRect 적용 가능한 경계 정보를 받습니다. 실패하면 멤버 함수는 0을 반환합니다.

설명

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

CMonthCalCtrl::GetMonthDelta

월 캘린더 컨트롤의 스크롤 속도를 검색합니다.

int GetMonthDelta() const;

Return Value

월 달력 컨트롤의 스크롤 속도입니다. 스크롤 속도는 사용자가 스크롤 단추를 한 번 클릭할 때 컨트롤이 디스플레이를 이동하는 월 수입니다.

설명

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

CMonthCalCtrl::GetMonthRange

월 달력 컨트롤 표시의 높음 및 낮음 제한을 나타내는 날짜 정보를 검색합니다.

int GetMonthRange(
    COleDateTime& refMinRange,
    COleDateTime& refMaxRange,
    DWORD dwFlags) const;

int GetMonthRange(
    CTime& refMinRange,
    CTime& refMaxRange,
    DWORD dwFlags) const;

int GetMonthRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange,
    DWORD dwFlags) const;

매개 변수

refMinRange
허용되는 최소 날짜를 포함하는 COleDateTime 또는 CTime 개체에 대한 참조입니다.

refMaxRange
허용되는 최대 날짜를 포함하는 개체 또는 CTime 개체에 대한 참조 COleDateTime 입니다.

pMinRange
범위의 최하위 끝에 있는 날짜를 포함하는 SYSTEMTIME 구조체에 대한 포인터입니다.

pMaxRange
범위의 SYSTEMTIME 가장 높은 끝에 있는 날짜를 포함하는 구조체에 대한 포인터입니다.

dwFlags
검색할 범위 제한의 범위를 지정하는 값입니다. 이 값은 다음 중 하나여야 합니다.

의미
GMR_DAYSTATE 부분적으로만 표시되는 가시 범위의 이전 및 후행 달을 포함합니다.
GMR_VISIBLE 전체가 표시된 월만 포함합니다.

Return Value

첫 번째 및 두 번째 버전에서 refMinRange 및 refMaxRange로 표시된 두 개의 제한으로 범위(월 단위) 또는 세 번째 버전의 pMinRange 및 pMaxRange를 나타내는 정수입니다.

설명

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

예시

CMonthCalCtrl::SetDayState에 대한 예제를 참조하세요.

CMonthCalCtrl::GetRange

월 달력 컨트롤에 설정된 현재 최소 및 최대 날짜를 검색합니다.

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

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

DWORD GetRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

매개 변수

pMinRange
범위의 최하위 끝에 있는 CTime 날짜를 포함하는 개체, 개체 또는 SYSTEMTIME 구조체에 대한 포인터 COleDateTime 입니다.

pMaxRange
범위의 가장 높은 끝에 있는 날짜를 포함하는 개체, CTime 개체 또는 SYSTEMTIME 구조체에 대한 포인터 COleDateTime 입니다.

Return Value

0일 수 있는 DWORD(제한이 설정되지 않음) 또는 제한 정보를 지정하는 다음 값의 조합입니다.

의미
GDTR_MAX 컨트롤에 대한 최대 한도가 설정됩니다. pMaxRange 는 유효하며 적용 가능한 날짜 정보를 포함합니다.
GDTR_MIN 컨트롤에 대한 최소 한도가 설정됩니다. pMinRange 는 유효하며 해당 날짜 정보를 포함합니다.

설명

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

예시

// This code fragment sets a variety of ranges in the
// control, and calls a separate function to show the
// set range to the user.

void CMonthCalDlg::OnBnClickedRangebutton()
{
   // 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_calCtrl1.SetRange(&dtMin, &dtMax);
   ShowRange(&m_calCtrl1);

   // set no minimum and a maximum of September 30th, 1997
   dtMin.SetStatus(COleDateTime::null);
   dtMax = COleDateTime(1997, 9, 30, 0, 0, 0);
   m_calCtrl1.SetRange(&dtMin, &dtMax);
   ShowRange(&m_calCtrl1);

   // 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_calCtrl1.SetRange(&dtMin, &dtMax);
   ShowRange(&m_calCtrl1);
}

void CMonthCalDlg::ShowRange(CMonthCalCtrl *pMoCalCtrl)
{
   ASSERT(pMoCalCtrl != NULL);
   CString strMessage;
   COleDateTime dtMinimum;
   COleDateTime dtMaximum;

   // Get the range
   DWORD dwResult = pMoCalCtrl->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);
}

CMonthCalCtrl::GetSelRange

사용자가 현재 선택한 날짜 범위의 상한 및 하한을 나타내는 날짜 정보를 검색합니다.

BOOL GetSelRange(
    COleDateTime& refMinRange,
    COleDateTime& refMaxRange) const;

BOOL GetSelRange(
    CTime& refMinRange,
    CTime& refMaxRange) const;

BOOL GetSelRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

매개 변수

refMinRange
허용되는 최소 날짜를 포함하는 COleDateTime 또는 CTime 개체에 대한 참조입니다.

refMaxRange
허용되는 최대 날짜를 포함하는 개체 또는 CTime 개체에 대한 참조 COleDateTime 입니다.

pMinRange
범위의 최하위 끝에 있는 날짜를 포함하는 SYSTEMTIME 구조체에 대한 포인터입니다.

pMaxRange
범위의 SYSTEMTIME 가장 높은 끝에 있는 날짜를 포함하는 구조체에 대한 포인터입니다.

Return Value

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

설명

이 멤버 함수는 Windows SDK에 설명된 대로 Win32 메시지 MCM_GETSELRANGE 동작을 구현합니다. GetSelRange 는 MCS_MULTISELECT 스타일을 사용하지 않는 월 달력 컨트롤에 적용하면 실패합니다.

MFC의 구현GetSelRange에서 사용량, CTime 사용량 또는 SYSTEMTIME 구조체 사용을 지정할 COleDateTime 수 있습니다.

CMonthCalCtrl::GetToday

월 달력 컨트롤에 대해 "today"로 지정된 날짜의 날짜 정보를 검색합니다.

BOOL GetToday(COleDateTime& refDateTime) const;  BOOL GetToday(COleDateTime& refDateTime) const;

BOOL GetToday(LPSYSTEMTIME pDateTime) const;

매개 변수

refDateTime
현재 일을 나타내는 COleDateTime 또는 CTime 개체에 대한 참조입니다.

pDateTime
날짜 정보를 받을 SYSTEMTIME 구조체에 대한 포인터입니다. 이 매개 변수는 유효한 주소여야 하며 NULL일 수 없습니다.

Return Value

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

설명

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

예시

void CMonthCalDlg::OnBnClickedGettodaybutton()
{
   COleDateTime timeToday;
   if (m_calCtrl1.GetToday(timeToday))
   {
      // Format the date information from the value we received
      // and post a message box about it.
      CString str = timeToday.Format(VAR_DATEVALUEONLY);
      AfxMessageBox(str);

      // Set the control's "today" indicator to be five
      // days previous.
      timeToday -= 5;
      m_calCtrl1.SetToday(timeToday);
   }
   else
   {
      // Something is wrong!
      ASSERT(FALSE);
   }
}

CMonthCalCtrl::HitTest

지정된 위치에 있는 월 달력 컨트롤(있는 경우)을 결정합니다.

DWORD HitTest(PMCHITTESTINFO pMCHitTest);

매개 변수

pMCHitTest
월 달력 컨트롤에 대한 적중 테스트 지점을 포함하는 MCHITTESTINFO 구조체에 대한 포인터입니다.

Return Value

DWORD 값입니다. 구조체의 uHit 멤버와 MCHITTESTINFO 같습니다.

설명

HitTestMCHITTESTINFO 적중 테스트에 대한 정보를 포함하는 구조를 사용합니다.

CMonthCalCtrl::IsCenturyView

현재 월 달력 컨트롤의 현재 뷰가 세기 보기인지 여부를 나타냅니다.

BOOL IsCenturyView() const;

Return Value

현재 보기가 세기 보기이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

이 메서드는 Windows SDK에 설명된 MCM_GETCURRENTVIEW 메시지를 보냅니다. 해당 메시지가 MCMV_CENTURY 반환하면 이 메서드는 TRUE를 반환합니다.

CMonthCalCtrl::IsDecadeView

현재 월 달력 컨트롤의 현재 보기가 10년 보기인지 여부를 나타냅니다.

BOOL IsDecadeView() const;

Return Value

현재 보기가 10년 보기이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

이 메서드는 Windows SDK에 설명된 MCM_GETCURRENTVIEW 메시지를 보냅니다. 해당 메시지가 MCMV_DECADE 반환하면 이 메서드는 TRUE를 반환합니다.

CMonthCalCtrl::IsMonthView

현재 월 달력 컨트롤의 현재 보기가 월 보기인지 여부를 나타냅니다.

BOOL IsMonthView() const;

Return Value

현재 보기가 월 보기이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

이 메서드는 Windows SDK에 설명된 MCM_GETCURRENTVIEW 메시지를 보냅니다. 해당 메시지가 MCMV_MONTH 반환하면 이 메서드는 TRUE를 반환합니다.

CMonthCalCtrl::IsYearView

현재 월 달력 컨트롤의 현재 보기가 연도 보기인지 여부를 나타냅니다.

BOOL IsYearView() const;

Return Value

현재 보기가 연도 보기이면 TRUE이고, 그렇지 않으면 FALSE입니다.

설명

이 메서드는 Windows SDK에 설명된 MCM_GETCURRENTVIEW 메시지를 보냅니다. 해당 메시지가 MCMV_YEAR 반환하면 이 메서드는 TRUE를 반환합니다.

CMonthCalCtrl::SetCalendarBorder

현재 월 달력 컨트롤의 테두리 너비를 설정합니다.

void SetCalendarBorder(int cxyBorder);

매개 변수

cxyBorder
[in] 테두리의 너비(픽셀)입니다.

설명

이 메서드가 성공하면 테두리 너비가 cxyBorder 매개 변수로 설정됩니다. 그렇지 않으면 테두리 너비가 현재 테마에 지정된 기본값으로 다시 설정되고 테마가 사용되지 않으면 0으로 다시 설정됩니다.

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

예시

첫 번째 코드 예제에서는 월 달력 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_monthCalCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

다음 코드 예제에서는 월 달력 컨트롤의 테두리 너비를 8픽셀로 설정합니다. CMonthCalCtrl::GetCalendarBorder 메서드를 사용하여 이 메서드가 성공했는지 여부를 확인합니다.

// Use the GetCalendarBorder() method to determine whether
// this method succeeded or failed.
m_monthCalCtrl.SetCalendarBorder(8);

CMonthCalCtrl::SetCalendarBorderDefault

현재 월 달력 컨트롤 테두리의 기본 너비를 설정합니다.

void SetCalendarBorderDefault();

설명

테두리 너비는 현재 테마에 지정된 기본값으로 설정되고 테마를 사용하지 않으면 0으로 설정됩니다.

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

CMonthCalCtrl::SetCalID

현재 월 달력 컨트롤의 달력 식별자를 설정합니다.

BOOL SetCalID(CALID calid);

매개 변수

calid
[in] 달력 식별자 상수 중 하나입니다.

Return Value

이 메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

달력 식별자는 지역별 달력(예: 지역화됨), 일본어 또는 히즈리 달력을 지정합니다. 달력을 SetCalID 포함하는 로캘이 컴퓨터에 설치된 경우 calid 매개 변수로 지정된 달력을 표시하려면 이 메서드를 사용합니다.

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

예시

첫 번째 코드 예제에서는 월 달력 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_monthCalCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

다음 코드 예제에서는 일본 황제 시대 달력을 표시 하는 월 달력 컨트롤을 설정 합니다. 이 메서드는 SetCalID 해당 일정이 컴퓨터에 설치된 경우에만 성공합니다.

BOOL rc = m_monthCalCtrl.SetCalID(CAL_JAPAN);
CString str = _T("Calendar change ");
;
if (rc == TRUE)
   str += _T("succeeded.");
else
{
   str += _T("failed.\n");
   str += _T("Perhaps this locale is not installed.");
}
AfxMessageBox(str, MB_ICONINFORMATION);

CMonthCalCtrl::SetCenturyView

세기 보기를 표시하도록 현재 월 달력 컨트롤을 설정합니다.

BOOL SetCenturyView();

Return Value

이 메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

이 메서드는 CMonthCalCtrl::SetCurrentView 메서드를 사용하여 세기 보기를 나타내는 뷰를 MCMV_CENTURY설정합니다.

CMonthCalCtrl::SetColor

월 달력 컨트롤의 지정된 영역 색을 설정합니다.

COLORREF SetColor(
    int nRegion,
    COLORREF ref);

매개 변수

nRegion
설정할 월 달력 색을 지정하는 정수 값입니다. 이 값은 다음 중 하나일 수 있습니다.

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

ref
월 달력 컨트롤의 지정된 부분에 대한 새 색 설정에 대한 COLORREF 값입니다.

Return Value

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

설명

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

예시

// Set colors for title text and title background to match
// the Control Panel settings for inactive window captions.
m_calCtrl1.SetColor(MCSC_TITLETEXT, ::GetSysColor(COLOR_INACTIVECAPTIONTEXT));
m_calCtrl1.SetColor(MCSC_TITLEBK, ::GetSysColor(COLOR_INACTIVECAPTION));

CMonthCalCtrl::SetCurrentView

지정된 보기를 표시하도록 현재 월 달력 컨트롤을 설정합니다.

BOOL SetCurrentView(DWORD dwNewView);

매개 변수

dwNewView
[in] 월별, 연간, 10년 또는 세기 보기를 지정하는 다음 값 중 하나입니다.

  • MCMV_MONTH: 월별 보기
  • MCMV_YEAR: 연간 보기
  • MCMV_DECADE: 10년 보기
  • MCMV_CENTURY: 세기 보기

Return Value

이 메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

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

CMonthCalCtrl::SetCurSel

월 달력 컨트롤에 대해 현재 선택한 날짜를 설정합니다.

BOOL SetCurSel(const COleDateTime& refDateTime);
BOOL SetCurSel(const CTime& refDateTime);
BOOL SetCurSel(const LPSYSTEMTIME pDateTime);

매개 변수

refDateTime
현재 선택한 월 달력 컨트롤을 나타내는 COleDateTime 또는 CTime 개체에 대한 참조입니다.

pDateTime
현재 선택 항목으로 설정할 날짜가 포함된 SYSTEMTIME 구조체에 대한 포인터입니다.

Return Value

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

설명

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

예시

void CMonthCalDlg::OnBnClickedCurselbutton()
{
   // All of these calls set the current selection to March 15, 1998.

   // with a COleDateTime
   COleDateTime dt1(1998, 3, 15, 0, 0, 0);
   m_calCtrl1.SetCurSel(dt1);

   // with a CTime
   CTime dt2(1998, 3, 15, 0, 0, 0);
   m_calCtrl1.SetCurSel(dt2);

   // with a SYSTEMTIME structure

   SYSTEMTIME sysTime;

   // set everything to zero
   memset(&sysTime, 0, sizeof(sysTime));

   // except for the date we want
   sysTime.wYear = 1998;
   sysTime.wMonth = 3;
   sysTime.wDay = 15;

   m_calCtrl1.SetCurSel(&sysTime);
}

CMonthCalCtrl::SetDayState

월 달력 컨트롤의 일 단위로 표시를 설정합니다.

BOOL SetDayState(
    int nMonths,
    LPMONTHDAYSTATE pStates);

매개 변수

nMonths
pStates가 가리키는 배열에 있는 요소 수를 나타내는 값입니다.

pStates
월 달력 컨트롤이 표시에 매일 그리는 방법을 정의하는 값의 MONTHDAYSTATE 배열에 대한 포인터입니다. MONTHDAYSTATE 데이터 형식은 비트 필드로, 각 비트(1~31)는 한 달의 일 상태를 나타냅니다. 비트가 켜져 있으면 해당 날짜가 굵게 표시됩니다. 그렇지 않으면 강조하지 않고 표시됩니다.

Return Value

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

설명

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

예시

void CMonthCalDlg::OnBnClickedDaystatebutton()
{
   // First, we must find the visible range. The array we pass to the
   // SetDayState() function must be large enough to hold days for all
   // of the visible months. Even if a month is _partially_ visible,
   // we must have MONTHDAYSTATE data for it in the array we pass.
   // GetMonthRange() returns the range of days currently visible in
   // the control, along with a count of visible months. This array
   // will be up to 2 months larger than the number of "pages" visible
   // in the control.

   SYSTEMTIME timeFrom;
   SYSTEMTIME timeUntil;
   int nCount = m_calCtrl1.GetMonthRange(&timeFrom, &timeUntil, GMR_DAYSTATE);

   // Allocate the state array based on the return value.

   LPMONTHDAYSTATE pDayState;
   pDayState = new MONTHDAYSTATE[nCount];
   memset(pDayState, 0, sizeof(MONTHDAYSTATE) * nCount);

   // Find the first fully visible month.

   int nIndex = (timeFrom.wDay == 1) ? 0 : 1;

   // Set the 4th day, 19th day, and 26th day of the first
   // _fully_ visible month as bold.

   pDayState[nIndex] |= 1 << 3;  // 4th day
   pDayState[nIndex] |= 1 << 18; // 19th day
   pDayState[nIndex] |= 1 << 25; // 25th day

   // Set state and clean up

   VERIFY(m_calCtrl1.SetDayState(nCount, pDayState));
   delete[] pDayState;
}

CMonthCalCtrl::SetDecadeView

현재 월 달력 컨트롤을 10년 보기로 설정합니다.

BOOL SetDecadeView();

Return Value

이 메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

이 메서드는 CMonthCalCtrl::SetCurrentView 메서드를 사용하여 뷰를 MCMV_DECADE10년 보기를 나타내는 뷰로 설정합니다.

CMonthCalCtrl::SetFirstDayOfWeek

달력의 맨 왼쪽 열에 표시할 요일을 설정합니다.

BOOL SetFirstDayOfWeek(
    int iDay,
    int* lpnOld = NULL);

매개 변수

iDay
요일로 설정할 일을 나타내는 정수 값입니다. 이 값은 일 번호 중 하나여야 합니다. 날짜 번호에 대한 설명은 GetFirstDayOfWeek을 참조하세요.

lpnOld
이전에 설정한 요일을 나타내는 정수에 대한 포인터입니다.

Return Value

이전 요일이 제어판 설정에 표시된 날짜인 LOCALE_IFIRSTDAYOFWEEK 이외의 값으로 설정된 경우 0이 아닌 값입니다. 그렇지 않으면 이 함수는 0을 반환합니다.

설명

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

예시

// This work isn't normally necessary, since the control will set
// the day of the week to match the system locale by itself.

// Ask the system for the first day of the week
TCHAR sz[2];
GetLocaleInfo(LOCALE_SYSTEM_DEFAULT, LOCALE_IFIRSTDAYOFWEEK, sz, 2);

// Convert from string result
int nFirstDay = _ttoi(sz);

// Set it and assert that it was successful.
m_calCtrl1.SetFirstDayOfWeek(nFirstDay);
ASSERT(m_calCtrl1.GetFirstDayOfWeek() == nFirstDay);

CMonthCalCtrl::SetMaxSelCount

월 달력 컨트롤에서 선택할 수 있는 최대 일수를 설정합니다.

BOOL SetMaxSelCount(int nMax);

매개 변수

nMax
선택할 수 있는 최대 일 수를 나타내도록 설정되는 값입니다.

Return Value

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

설명

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

예시

// The control needs to have the MCS_MULTISELECT style
// for the following code to work.

// change the maximum selection count
m_calCtrl2.SetMaxSelCount(10);

// check that the change was really made
ASSERT(m_calCtrl2.GetMaxSelCount() == 10);

CMonthCalCtrl::SetMonthDelta

월 달력 컨트롤에 대한 스크롤 비율을 설정합니다.

int SetMonthDelta(int iDelta);

매개 변수

iDelta
컨트롤의 스크롤 속도로 설정할 월 수입니다. 이 값이 0이면 월 델타가 기본값으로 다시 설정됩니다. 기본값은 컨트롤에 표시되는 개월 수입니다.

Return Value

이전 스크롤 속도입니다. 스크롤 속도가 이전에 설정되지 않은 경우 반환 값은 0입니다.

설명

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

CMonthCalCtrl::SetMonthView

월 보기를 표시하도록 현재 월 달력 컨트롤을 설정합니다.

BOOL SetMonthView();

Return Value

이 메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

이 메서드는 CMonthCalCtrl::SetCurrentView 메서드를 사용하여 월 보기를 나타내는 뷰를 MCMV_MONTH 설정합니다.

예시

첫 번째 코드 예제에서는 월 달력 컨트롤에 프로그래밍 방식으로 액세스하는 데 사용되는 변수 m_monthCalCtrl를 정의합니다. 이 변수는 다음 예제에서 사용됩니다.

// Variable used to reference the month calendar control.
CMonthCalCtrl m_monthCalCtrl;
// Variable used to reference the splitbutton control.
CSplitButton m_splitButton;

다음 코드 예제에서는 월, 연도, 10년 및 세기 보기를 표시하도록 월 달력 컨트롤을 설정합니다.

void CCMonthCalCtrl_s1Dlg::OnSetviewSetmonthview()
{
   m_monthCalCtrl.SetMonthView();
}

void CCMonthCalCtrl_s1Dlg::OnSetviewSetyearview()
{
   m_monthCalCtrl.SetYearView();
}

void CCMonthCalCtrl_s1Dlg::OnSetviewSetdecadeview()
{
   m_monthCalCtrl.SetDecadeView();
}

void CCMonthCalCtrl_s1Dlg::OnSetviewSetcenturyview()
{
   m_monthCalCtrl.SetCenturyView();
}

CMonthCalCtrl::SetRange

월 달력 컨트롤에 허용되는 최소 및 최대 날짜를 설정합니다.

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

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

BOOL SetRange(
    const LPSYSTEMTIME pMinRange,
    const LPSYSTEMTIME pMaxRange);

매개 변수

pMinRange
범위의 최하위 끝에 있는 CTime 날짜를 포함하는 개체, 개체 또는 SYSTEMTIME 구조체에 대한 포인터 COleDateTime 입니다.

pMaxRange
범위의 가장 높은 끝에 있는 날짜를 포함하는 개체CTime, 개체 또는 SYSTEMTIME 구조체에 대한 포인터 COleDateTime 입니다.

Return Value

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

설명

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

예시

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

CMonthCalCtrl::SetSelRange

월 달력 컨트롤에 대한 선택을 지정된 날짜 범위로 설정합니다.

BOOL SetSelRange(
    const COleDateTime& pMinRange,
    const COleDateTime& pMaxRange);

BOOL SetSelRange(
    const CTime& pMinRange,
    const CTime& pMaxRange);

BOOL SetSelRange(
    const LPSYSTEMTIME pMinRange,
    const LPSYSTEMTIME pMaxRange);

매개 변수

pMinRange
범위의 최하위 끝에 있는 CTime 날짜를 포함하는 개체, 개체 또는 SYSTEMTIME 구조체에 대한 포인터 COleDateTime 입니다.

pMaxRange
범위의 가장 높은 끝에 있는 날짜를 포함하는 개체CTime, 개체 또는 SYSTEMTIME 구조체에 대한 포인터 COleDateTime 입니다.

Return Value

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

설명

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

CMonthCalCtrl::SetToday

현재 날짜의 달력 컨트롤을 설정합니다.

void SetToday(const COleDateTime& refDateTime);
void SetToday(const CTime* pDateTime);
void SetToday(const LPSYSTEMTIME pDateTime);

매개 변수

refDateTime
현재 날짜를 포함하는 COleDateTime 개체에 대한 참조입니다.

pDateTime
두 번째 버전에서는 현재 날짜 정보를 포함하는 CTime 개체에 대한 포인터입니다. 세 번째 버전에서는 현재 날짜 정보를 포함하는 SYSTEMTIME 구조체에 대한 포인터입니다.

설명

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

예시

CMonthCalCtrl::GetToday에 대한 예제를 참조하세요.

CMonthCalCtrl::SetYearView

현재 월 달력 컨트롤을 연도 보기로 설정합니다.

BOOL SetYearView();

Return Value

이 메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.

설명

이 메서드는 CMonthCalCtrl::SetCurrentView 메서드를 사용하여 연간 보기를 나타내는 MCMV_YEAR 보기를 설정합니다.

CMonthCalCtrl::SizeMinReq

월 달력 컨트롤을 한 달을 표시하는 최소 크기로 표시합니다.

BOOL SizeMinReq(BOOL bRepaint = TRUE);

매개 변수

bRepaint
컨트롤을 다시 칠할지 여부를 지정합니다. 기본적으로 TRUE입니다. FALSE이면 다시 그리기가 발생하지 않습니다.

Return Value

월 달력 컨트롤의 크기가 최소값인 경우 0이 아닌 경우 그렇지 않으면 0입니다.

설명

호출 SizeMinReq 에 성공하면 한 달의 일정에 대한 전체 월 달력 컨트롤이 표시됩니다.

CMonthCalCtrl::SizeRectToMin

현재 월 달력 컨트롤의 경우 지정된 사각형에 맞는 모든 달력을 포함할 수 있는 가장 작은 사각형을 계산합니다.

LPRECT SizeRectToMin(LPRECT lpRect);

매개 변수

lpRect
[in] 원하는 수의 달력을 포함하는 사각형을 정의하는 RECT 구조체에 대한 포인터입니다.

Return Value

크기가 lpRect 매개 변수로 정의된 사각형보다 작거나 같은 사각형을 정의하는 RECT 구조체에 대한 포인터입니다.

설명

이 메서드는 lpRect 매개 변수로 지정된 사각형에 맞출 수 있는 달력 수를 계산한 다음, 해당 달력 수를 포함할 수 있는 가장 작은 사각형을 반환합니다. 실제로 이 메서드는 지정된 사각형을 원하는 수의 달력에 정확하게 맞도록 축소합니다.

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

참고 항목

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