Sdílet prostřednictvím


CMonthCalCtrl – třída

Zapouzdřuje funkce ovládacího prvku kalendáře měsíce.

Syntaxe

class CMonthCalCtrl : public CWnd

Členové

Veřejné konstruktory

Název Popis
CMonthCalCtrl::CMonthCalCtrl CMonthCalCtrl Vytvoří objekt.

Veřejné metody

Název Popis
CMonthCalCtrl::Create Vytvoří ovládací prvek měsíčního kalendáře a připojí ho k objektu CMonthCalCtrl .
CMonthCalCtrl::GetCalendarBorder Načte šířku ohraničení ovládacího prvku kalendáře aktuálního měsíce.
CMonthCalCtrl::GetCalendarCount Načte počet kalendářů zobrazených v ovládacím prvku kalendáře aktuálního měsíce.
CMonthCalCtrl::GetCalendarGridInfo Načte informace o ovládacím prvku kalendáře aktuálního měsíce.
CMonthCalCtrl::GetCalID Načte identifikátor kalendáře pro ovládací prvek aktuálního kalendáře měsíce.
CMonthCalCtrl::GetColor Získá barvu zadané oblasti ovládacího prvku kalendáře měsíce.
CMonthCalCtrl::GetCurrentView Načte zobrazení, které je aktuálně zobrazeno ovládacím prvku kalendáře aktuálního měsíce.
CMonthCalCtrl::GetCurSel Načte systémový čas podle aktuálně vybraného data.
CMonthCalCtrl::GetFirstDayOfWeek Získá první den v týdnu, který se zobrazí v levém sloupci kalendáře.
CMonthCalCtrl::GetMaxSelCount Načte aktuální maximální počet dní, které lze vybrat v ovládacím prvku kalendáře měsíce.
CMonthCalCtrl::GetMaxTodayWidth Načte maximální šířku řetězce Today pro ovládací prvek kalendáře aktuálního měsíce.
CMonthCalCtrl::GetMinReqRect Načte minimální požadovanou velikost pro zobrazení celého měsíce v ovládacím prvku kalendáře měsíce.
CMonthCalCtrl::GetMonthDelta Načte rychlost posouvání pro ovládací prvek kalendáře měsíce.
CMonthCalCtrl::GetMonthRange Načte informace o datu představující nejvyšší a nízké limity zobrazení ovládacího prvku kalendáře měsíce.
CMonthCalCtrl::GetRange Načte aktuální minimální a maximální datum nastavené v ovládacím prvku kalendáře měsíce.
CMonthCalCtrl::GetSelRange Načte informace o datu představující horní a dolní limity rozsahu kalendářních dat aktuálně vybraných uživatelem.
CMonthCalCtrl::GetToday Načte informace o datu zadaném jako "dnes" pro ovládací prvek kalendáře měsíce.
CMonthCalCtrl::HitTest Určuje, který oddíl ovládacího prvku kalendáře měsíce je v daném bodě na obrazovce.
CMonthCalCtrl::IsCenturyView Určuje, jestli je aktuální zobrazení ovládacího prvku kalendáře aktuálního měsíce zobrazením století.
CMonthCalCtrl::IsDecadeView Určuje, jestli je aktuální zobrazení ovládacího prvku kalendáře aktuálního měsíce zobrazením desetiletí.
CMonthCalCtrl::IsMonthView Určuje, jestli je aktuální zobrazení ovládacího prvku kalendáře aktuálního měsíce zobrazením měsíce.
CMonthCalCtrl::IsYearView Určuje, jestli je aktuální zobrazení ovládacího prvku kalendáře aktuálního měsíce zobrazením roku.
CMonthCalCtrl::SetCalendarBorder Nastaví šířku ohraničení ovládacího prvku kalendáře aktuálního měsíce.
CMonthCalCtrl::SetCalendarBorderDefault Nastaví výchozí šířku ohraničení ovládacího prvku kalendáře aktuálního měsíce.
CMonthCalCtrl::SetCalID Nastaví identifikátor kalendáře pro ovládací prvek aktuálního kalendáře měsíce.
CMonthCalCtrl::SetCenturyView Nastaví ovládací prvek kalendáře aktuálního měsíce tak, aby zobrazoval zobrazení století.
CMonthCalCtrl::SetColor Nastaví barvu zadané oblasti ovládacího prvku měsíčního kalendáře.
CMonthCalCtrl::SetCurrentView Nastaví ovládací prvek kalendáře aktuálního měsíce tak, aby zobrazoval zadané zobrazení.
CMonthCalCtrl::SetCurSel Nastaví aktuálně vybrané datum pro ovládací prvek kalendáře měsíce.
CMonthCalCtrl::SetDayState Nastaví zobrazení dnů v ovládacím prvku kalendáře měsíce.
CMonthCalCtrl::SetDecadeView Nastaví ovládací prvek kalendáře aktuálního měsíce na zobrazení desetiletí.
CMonthCalCtrl::SetFirstDayOfWeek Nastaví den v týdnu, který se zobrazí ve sloupci kalendáře úplně vlevo.
CMonthCalCtrl::SetMaxSelCount Nastaví maximální počet dní, které lze vybrat v ovládacím prvku kalendáře měsíce.
CMonthCalCtrl::SetMonthDelta Nastaví rychlost posouvání pro ovládací prvek kalendáře měsíce.
CMonthCalCtrl::SetMonthView Nastaví ovládací prvek kalendáře aktuálního měsíce tak, aby zobrazoval zobrazení měsíce.
CMonthCalCtrl::SetRange Nastaví minimální a maximální povolená data pro ovládací prvek kalendáře měsíce.
CMonthCalCtrl::SetSelRange Nastaví výběr ovládacího prvku kalendáře měsíce na daný rozsah kalendářních dat.
CMonthCalCtrl::SetToday Nastaví ovládací prvek kalendáře pro aktuální den.
CMonthCalCtrl::SetYearView Nastaví ovládací prvek kalendáře aktuálního měsíce na zobrazení roku.
CMonthCalCtrl::SizeMinReq Přeformátuje ovládací prvek kalendáře měsíce na minimální velikost jednoho měsíce.
CMonthCalCtrl::SizeRectToMin Pro ovládací prvek kalendáře aktuálního měsíce vypočítá nejmenší obdélník, který může obsahovat všechny kalendáře, které se vejdou do zadaného obdélníku.

Poznámky

Ovládací prvek měsíčního kalendáře poskytuje uživateli jednoduché rozhraní kalendáře, ze kterého může uživatel vybrat datum. Uživatel může zobrazení změnit:

  • Posouvání dozadu a dopředu od měsíce po měsíc

  • Kliknutím na text Dnes zobrazíte aktuální den (pokud se nepoužívá styl MCS_NOTODAY).

  • Výběr měsíce nebo roku z místní nabídky

Ovládací prvek měsíčního kalendáře můžete přizpůsobit tak, že při vytváření objektu použijete různé styly. Tyto styly jsou popsány v ovládacích stylech kalendáře měsíce v sadě Windows SDK.

Ovládací prvek měsíčního kalendáře může zobrazit více než jeden měsíc a může označit zvláštní dny (například svátky) tučným písmem data.

Další informace o použití ovládacího prvku měsíční kalendář naleznete v tématu Použití CMonthCalCtrl.

Hierarchie dědičnosti

Objekt CObject

CCmdTarget

CWnd

CMonthCalCtrl

Požadavky

Hlavička: afxdtctl.h

CMonthCalCtrl::CMonthCalCtrl

CMonthCalCtrl Vytvoří objekt.

CMonthCalCtrl();

Poznámky

Po vytvoření objektu je nutné volat Create .

CMonthCalCtrl::Create

Vytvoří ovládací prvek měsíčního kalendáře a připojí ho k objektu 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);

Parametry

dwStyle
Určuje kombinaci stylů Windows použitých u ovládacího prvku měsíční kalendář. Další informaceoch

Rect
Odkaz na strukturu RECT . Obsahuje pozici a velikost ovládacího prvku kalendáře měsíce.

Pt
Odkaz na strukturu POINT , která identifikuje umístění ovládacího prvku měsíčního kalendáře.

pParentWnd
Ukazatel na objekt CWnd , který je nadřazeným oknem ovládacího prvku kalendáře měsíce. Nesmí mít hodnotu NULL.

Nid
Určuje ID ovládacího prvku kalendáře měsíce.

Návratová hodnota

Nenulové, pokud byla inicializace úspěšná; jinak 0.

Poznámky

Vytvořte ovládací prvek měsíčního kalendáře ve dvou krocích:

  1. Volání CMonthCalCtrl k vytvoření objektu CMonthCalCtrl .

  2. Volání této členské funkce, která vytvoří ovládací prvek měsíčního kalendáře a připojí ho k objektu CMonthCalCtrl .

Při volání Createse inicializují běžné ovládací prvky. Verze Create volání určuje, jak má velikost:

  • Pokud chcete, aby mfc ovládací prvek automaticky zvětšil na jeden měsíc, zavolejte přepsání, které používá parametr pt .

  • Pokud chcete nastavit velikost ovládacího prvku sami, zavolejte přepsání této funkce, která používá parametr rect .

Příklad

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

Načte šířku ohraničení ovládacího prvku kalendáře aktuálního měsíce.

int GetCalendarBorder() const;

Návratová hodnota

Šířka ohraničení ovládacího prvku v pixelech.

Poznámky

Tato metoda odešle MCM_GETCALENDARBORDER zprávu, která je popsaná v sadě Windows SDK.

CMonthCalCtrl::GetCalendarCount

Načte počet kalendářů zobrazených v ovládacím prvku kalendáře aktuálního měsíce.

int GetCalendarCount() const;

Návratová hodnota

Počet kalendářů aktuálně zobrazených v ovládacím prvku měsíční kalendář. Maximální povolený počet kalendářů je 12.

Poznámky

Tato metoda odešle MCM_GETCALENDARCOUNT zprávu, která je popsaná v sadě Windows SDK.

CMonthCalCtrl::GetCalendarGridInfo

Načte informace o ovládacím prvku kalendáře aktuálního měsíce.

BOOL GetCalendarGridInfo(PMCGRIDINFO pmcGridInfo) const;

Parametry

pmcGridInfo
[ven] Ukazatel na strukturu MCGRIDINFO , která přijímá informace o ovládacím prvku aktuální měsíc kalendáře. Volající zodpovídá za přidělování a inicializaci této struktury.

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Tato metoda odešle MCM_GETCALENDARGRIDINFO zprávu, která je popsaná v sadě Windows SDK.

Příklad

První příklad kódu definuje proměnnou , m_monthCalCtrlkterá se používá pro programový přístup k ovládacímu prvku kalendáře měsíce. Tato proměnná se používá v dalším příkladu.

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

Následující příklad kódu používá metodu GetCalendarGridInfo k načtení kalendářního data, které zobrazuje ovládací prvek aktuální měsíc kalendáře.

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

Načte identifikátor kalendáře pro ovládací prvek aktuálního kalendáře měsíce.

CALID GetCalID() const;

Návratová hodnota

Jedna z konstant identifikátoru kalendáře.

Poznámky

Identifikátor kalendáře označuje kalendář specifický pro oblast, například gregoriánský (lokalizovaný), japonský nebo kalendář hidžra. Vaše aplikace může používat identifikátor kalendáře, který má různé funkce podpory jazyka.

Tato metoda odešle MCM_GETCALID zprávu, která je popsaná v sadě Windows SDK.

CMonthCalCtrl::GetColor

Načte barvu oblasti ovládacího prvku měsíčního kalendáře určeného nRegion.

COLORREF GetColor(int nRegion) const;

Parametry

nRegion
Oblast ovládacího prvku měsíčního kalendáře, ze kterého se barva načte. Seznam hodnot naleznete v nRegion parametr SetColor.

Návratová hodnota

Hodnota COLORREF určující barvu přidruženou k části ovládacího prvku měsíční kalendář, pokud je úspěšný. V opačném případě vrátí tato členová funkce hodnotu -1.

CMonthCalCtrl::GetCurrentView

Načte zobrazení, které je aktuálně zobrazeno ovládacím prvku kalendáře aktuálního měsíce.

DWORD GetCurrentView() const;

Návratová hodnota

Aktuální zobrazení, které je označeno jednou z následujících hodnot:

Hodnota Význam
MCMV_MONTH Měsíční zobrazení
MCMV_YEAR Roční zobrazení
MCMV_DECADE Zobrazení desetiletí
MCMV_CENTURY Zobrazení century

Poznámky

Tato metoda odešle MCM_GETCURRENTVIEW zprávu, která je popsaná v sadě Windows SDK.

Příklad

První příklad kódu definuje proměnnou , m_monthCalCtrlkterá se používá pro programový přístup k ovládacímu prvku kalendáře měsíce. Tato proměnná se používá v dalším příkladu.

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

Následující příklad kódu sestavy, které zobrazí ovládací prvek měsíční kalendář aktuálně zobrazí.

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

Načte systémový čas podle aktuálně vybraného data.

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

BOOL GetCurSel(LPSYSTEMTIME pDateTime) const;

Parametry

refDateTime
Odkaz na objekt COleDateTime nebo objekt CTime . Přijme aktuální čas.

pDateTime
Ukazatel na strukturu SYSTEMTIME , která obdrží aktuálně vybrané informace o datu. Tento parametr musí být platná adresa a nesmí mít hodnotu NULL.

Návratová hodnota

Nenulové, pokud je úspěšné; jináwize 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_GETCURSEL, jak je popsáno v sadě Windows SDK.

Poznámka:

Tato členová funkce selže, pokud je nastaven styl MCS_MULTISELECT.

V implementaci GetCurSelknihovny MFC můžete zadat COleDateTime použití, CTime použití nebo SYSTEMTIME použití struktury.

CMonthCalCtrl::GetFirstDayOfWeek

Získá první den v týdnu, který se zobrazí v levém sloupci kalendáře.

int GetFirstDayOfWeek(BOOL* pbLocal = NULL) const;

Parametry

pbLocal
Ukazatel na hodnotu BOOL. Pokud je hodnota nenulová, nastavení ovládacího prvku neodpovídá nastavení v ovládacích panelech.

Návratová hodnota

Celočíselná hodnota, která představuje první den v týdnu. Další informace o tom, co tato celá čísla představují, najdete v poznámkách .

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_GETFIRSTDAYOFWEEK, jak je popsáno v sadě Windows SDK. Dny v týdnu jsou reprezentovány jako celá čísla, a to následujícím způsobem.

Hodnota Den v týdnu
0 Pondělí
0 Úterý
2 Středa
3 Čtvrtek
4 Pátek
5 Sobota
6 Neděle

Příklad

Podívejte se na příklad pro CMonthCalCtrl::SetFirstDayOfWeek.

CMonthCalCtrl::GetMaxSelCount

Načte aktuální maximální počet dní, které lze vybrat v ovládacím prvku kalendáře měsíce.

int GetMaxSelCount() const;

Návratová hodnota

Celočíselná hodnota představující celkový počet dní, které lze pro ovládací prvek vybrat.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_GETMAXSELCOUNT, jak je popsáno v sadě Windows SDK. Tuto členovou funkci použijte pro ovládací prvky se sadou stylů MCS_MULTISELECT.

Příklad

Podívejte se na příklad pro CMonthCalCtrl::SetMaxSelCount.

CMonthCalCtrl::GetMaxTodayWidth

Načte maximální šířku řetězce Today pro ovládací prvek kalendáře aktuálního měsíce.

DWORD GetMaxTodayWidth() const;

Návratová hodnota

Šířka řetězce "Dnes" v pixelech.

Příklad

První příklad kódu definuje proměnnou , m_monthCalCtrlkterá se používá pro programový přístup k ovládacímu prvku kalendáře měsíce. Tato proměnná se používá v dalším příkladu.

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

Následující příklad kódu ukazuje metodu GetMaxTodayWidth .

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

Poznámky

Uživatel se může vrátit k aktuálnímu datu kliknutím na řetězec Dnes, který se zobrazí v dolní části ovládacího prvku kalendáře měsíce. Řetězec "Dnes" obsahuje text popisku a text data.

Tato metoda odešle MCM_GETMAXTODAYWIDTH zprávu, která je popsaná v sadě Windows SDK.

CMonthCalCtrl::GetMinReqRect

Načte minimální požadovanou velikost pro zobrazení celého měsíce v ovládacím prvku kalendáře měsíce.

BOOL GetMinReqRect(RECT* pRect) const;

Parametry

pRect
Ukazatel na strukturu RECT , která bude přijímat ohraničující informace o obdélníku. Tento parametr musí být platná adresa a nesmí mít hodnotu NULL.

Návratová hodnota

V případě úspěchu vrátí tato členová funkce nenulové a lpRect obdrží příslušné informace ohraničující. V případě neúspěchu vrátí členová funkce hodnotu 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_GETMINREQRECT, jak je popsáno v sadě Windows SDK.

CMonthCalCtrl::GetMonthDelta

Načte rychlost posouvání pro ovládací prvek kalendáře měsíce.

int GetMonthDelta() const;

Návratová hodnota

Posuvná sazba pro ovládací prvek kalendáře měsíce. Rychlost posouvání je počet měsíců, po které ovládací prvek přesune zobrazení, když uživatel jednou klikne na tlačítko posuvníku.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_GETMONTHDELTA, jak je popsáno v sadě Windows SDK.

CMonthCalCtrl::GetMonthRange

Načte informace o datu představující nejvyšší a nízké limity zobrazení ovládacího prvku kalendáře měsíce.

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;

Parametry

refMinRange
Odkaz na objekt COleDateTime nebo CTime obsahující minimální povolené datum.

refMaxRange
Odkaz na COleDateTime objekt obsahující CTime maximální povolené datum.

pMinRange
Ukazatel na strukturu SYSTEMTIME obsahující datum na nejnižším konci rozsahu.

pMaxRange
Ukazatel na SYSTEMTIME strukturu obsahující datum na nejvyšší konec rozsahu.

dwFlags
Hodnota určující rozsah limitů rozsahu, který se má načíst. Tato hodnota musí být jedna z následujících možností.

Hodnota Význam
GMR_DAYSTATE Zahrnout předchozí a koncové měsíce viditelného rozsahu, které jsou zobrazeny pouze částečně.
GMR_VISIBLE Zahrnout pouze ty měsíce, které jsou zcela zobrazeny.

Návratová hodnota

Celé číslo, které představuje rozsah v měsících rozložený dvěma limity označenými refMinRange a refMaxRange v první a druhé verzi, nebo pMinRange a pMaxRange ve třetí verzi.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_GETMONTHRANGE, jak je popsáno v sadě Windows SDK. V implementaci GetMonthRangeknihovny MFC můžete zadat COleDateTime použití, CTime použití nebo SYSTEMTIME použití struktury.

Příklad

Podívejte se na příklad pro CMonthCalCtrl::SetDayState.

CMonthCalCtrl::GetRange

Načte aktuální minimální a maximální datum nastavené v ovládacím prvku kalendáře měsíce.

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

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

DWORD GetRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Parametry

pMinRange
Ukazatel na COleDateTime objekt, CTime objekt nebo strukturu SYSTEMTIME obsahující datum na nejnižší konec rozsahu.

pMaxRange
Ukazatel na COleDateTime objekt, CTime objekt nebo strukturu SYSTEMTIME obsahující datum na nejvyšší konec rozsahu.

Návratová hodnota

Hodnota DWORD, která může být nulová (nejsou nastavena žádná omezení) nebo kombinace následujících hodnot, které určují informace o limitu.

Hodnota Význam
GDTR_MAX Maximální limit je nastaven pro ovládací prvek; pMaxRange je platný a obsahuje příslušné informace o datu.
GDTR_MIN Minimální limit je nastaven pro ovládací prvek; pMinRange je platný a obsahuje příslušné informace o datu.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_GETRANGE, jak je popsáno v sadě Windows SDK. V implementaci GetRangeknihovny MFC můžete zadat COleDateTime použití, CTime použití nebo SYSTEMTIME použití struktury.

Příklad

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

Načte informace o datu představující horní a dolní limity rozsahu kalendářních dat aktuálně vybraných uživatelem.

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

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

BOOL GetSelRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Parametry

refMinRange
Odkaz na objekt COleDateTime nebo CTime obsahující minimální povolené datum.

refMaxRange
Odkaz na COleDateTime objekt obsahující CTime maximální povolené datum.

pMinRange
Ukazatel na strukturu SYSTEMTIME obsahující datum na nejnižším konci rozsahu.

pMaxRange
Ukazatel na SYSTEMTIME strukturu obsahující datum na nejvyšší konec rozsahu.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_GETSELRANGE, jak je popsáno v sadě Windows SDK. GetSelRange pokud se použije na ovládací prvek kalendáře měsíce, který nepoužívá styl MCS_MULTISELECT, selže.

V implementaci GetSelRangeknihovny MFC můžete zadat COleDateTime použití, CTime použití nebo SYSTEMTIME použití struktury.

CMonthCalCtrl::GetToday

Načte informace o datu zadaném jako "dnes" pro ovládací prvek kalendáře měsíce.

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

BOOL GetToday(LPSYSTEMTIME pDateTime) const;

Parametry

refDateTime
Odkaz na objekt COleDateTime nebo CTime označující aktuální den.

pDateTime
Ukazatel na strukturu SYSTEMTIME , která obdrží informace o datu. Tento parametr musí být platná adresa a nesmí mít hodnotu NULL.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_GETTODAY, jak je popsáno v sadě Windows SDK. V implementaci GetTodayknihovny MFC můžete zadat COleDateTime použití, CTime použití nebo SYSTEMTIME použití struktury.

Příklad

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

Určuje, který ovládací prvek kalendáře měsíce(pokud existuje) je na zadané pozici.

DWORD HitTest(PMCHITTESTINFO pMCHitTest);

Parametry

pMCHitTest
Ukazatel na strukturu MCHITTESTINFO obsahující testovací body pro ovládací prvek kalendáře měsíce.

Návratová hodnota

Hodnota DWORD. Rovná se členu MCHITTESTINFO uHit struktury.

Poznámky

HitTestMCHITTESTINFO používá strukturu, která obsahuje informace o testu hitu.

CMonthCalCtrl::IsCenturyView

Určuje, jestli je aktuální zobrazení ovládacího prvku kalendáře aktuálního měsíce zobrazením století.

BOOL IsCenturyView() const;

Návratová hodnota

TRUE, pokud aktuální zobrazení je zobrazení století; jinak NEPRAVDA.

Poznámky

Tato metoda odešle MCM_GETCURRENTVIEW zprávu, která je popsaná v sadě Windows SDK. Pokud tato zpráva vrátí MCMV_CENTURY, vrátí tato metoda hodnotu TRUE.

CMonthCalCtrl::IsDecadeView

Určuje, jestli je aktuální zobrazení ovládacího prvku kalendáře aktuálního měsíce zobrazením desetiletí.

BOOL IsDecadeView() const;

Návratová hodnota

PRAVDA, pokud aktuální zobrazení je zobrazení desetiletí; jinak NEPRAVDA.

Poznámky

Tato metoda odešle MCM_GETCURRENTVIEW zprávu, která je popsaná v sadě Windows SDK. Pokud tato zpráva vrátí MCMV_DECADE, vrátí tato metoda hodnotu TRUE.

CMonthCalCtrl::IsMonthView

Určuje, jestli je aktuální zobrazení ovládacího prvku kalendáře aktuálního měsíce zobrazením měsíce.

BOOL IsMonthView() const;

Návratová hodnota

TRUE, pokud aktuální zobrazení je zobrazení měsíce; jinak NEPRAVDA.

Poznámky

Tato metoda odešle MCM_GETCURRENTVIEW zprávu, která je popsaná v sadě Windows SDK. Pokud tato zpráva vrátí MCMV_MONTH, vrátí tato metoda hodnotu TRUE.

CMonthCalCtrl::IsYearView

Určuje, jestli je aktuální zobrazení ovládacího prvku kalendáře aktuálního měsíce zobrazením roku.

BOOL IsYearView() const;

Návratová hodnota

TRUE, pokud aktuální zobrazení je zobrazení roku; jinak NEPRAVDA.

Poznámky

Tato metoda odešle MCM_GETCURRENTVIEW zprávu, která je popsaná v sadě Windows SDK. Pokud tato zpráva vrátí MCMV_YEAR, vrátí tato metoda hodnotu TRUE.

CMonthCalCtrl::SetCalendarBorder

Nastaví šířku ohraničení ovládacího prvku kalendáře aktuálního měsíce.

void SetCalendarBorder(int cxyBorder);

Parametry

cxyBorder
[v] Šířka ohraničení v pixelech.

Poznámky

Pokud je tato metoda úspěšná, šířka ohraničení je nastavena na cxyBorder parametr. V opačném případě se šířka ohraničení resetuje na výchozí hodnotu určenou aktuálním motivem nebo nulu, pokud se motivy nepoužívají.

Tato metoda odešle MCM_SETCALENDARBORDER zprávu, která je popsaná v sadě Windows SDK.

Příklad

První příklad kódu definuje proměnnou , m_monthCalCtrlkterá se používá pro programový přístup k ovládacímu prvku kalendáře měsíce. Tato proměnná se používá v dalším příkladu.

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

Následující příklad kódu nastaví šířku ohraničení ovládacího prvku měsíčního kalendáře na osm pixelů. Pomocí metody CMonthCalCtrl::GetCalendarBorder určete, zda byla tato metoda úspěšná.

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

CMonthCalCtrl::SetCalendarBorderDefault

Nastaví výchozí šířku ohraničení ovládacího prvku kalendáře aktuálního měsíce.

void SetCalendarBorderDefault();

Poznámky

Šířka ohraničení je nastavená na výchozí hodnotu určenou aktuálním motivem nebo nulou, pokud se motivy nepoužívají.

Tato metoda odešle MCM_SETCALENDARBORDER zprávu, která je popsaná v sadě Windows SDK.

CMonthCalCtrl::SetCalID

Nastaví identifikátor kalendáře pro ovládací prvek aktuálního kalendáře měsíce.

BOOL SetCalID(CALID calid);

Parametry

calid
[v] Jedna z konstant identifikátoru kalendáře.

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Identifikátor kalendáře určuje kalendář specifický pro oblast, například gregoriánský (lokalizovaný), japonský nebo kalendář hidžra. Použijte metodu SetCalID k zobrazení kalendáře určeného parametrem calid , pokud je v počítači nainstalováno národní prostředí obsahující kalendář.

Tato metoda odešle MCM_SETCALID zprávu, která je popsaná v sadě Windows SDK.

Příklad

První příklad kódu definuje proměnnou , m_monthCalCtrlkterá se používá pro programový přístup k ovládacímu prvku kalendáře měsíce. Tato proměnná se používá v dalším příkladu.

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

Následující příklad kódu nastaví ovládací prvek kalendáře měsíce tak, aby zobrazoval kalendář japonského císaře Era. Metoda SetCalID bude úspěšná pouze v případě, že je tento kalendář nainstalován v počítači.

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

Nastaví ovládací prvek kalendáře aktuálního měsíce tak, aby zobrazoval zobrazení století.

BOOL SetCenturyView();

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Tato metoda používá CMonthCalCtrl::SetCurrentView metoda nastavit zobrazení MCMV_CENTURYna , který představuje století zobrazení.

CMonthCalCtrl::SetColor

Nastaví barvu zadané oblasti ovládacího prvku měsíčního kalendáře.

COLORREF SetColor(
    int nRegion,
    COLORREF ref);

Parametry

nRegion
Celočíselná hodnota určující barvu kalendáře měsíce, která se má nastavit. Tato hodnota může být jedna z následujících možností.

Hodnota Význam
MCSC_BACKGROUND Barva pozadí zobrazená mezi měsíci.
MCSC_MONTHBK Barva pozadí zobrazená v měsíci.
MCSC_TEXT Barva použitá k zobrazení textu během měsíce.
MCSC_TITLEBK Barva pozadí zobrazená v názvu kalendáře.
MCSC_TITLETEXT Barva použitá k zobrazení textu v názvu kalendáře.
MCSC_TRAILINGTEXT Barva použitá k zobrazení textu záhlaví a koncového dne. Záhlaví a koncové dny jsou dny z předchozích a následujících měsíců, které se zobrazují v aktuálním kalendáři.

ref
Hodnota COLORREF pro nové nastavení barvy pro zadanou část ovládacího prvku měsíční kalendář.

Návratová hodnota

Hodnota COLORREF, která představuje předchozí nastavení barvy pro zadanou část ovládacího prvku měsíčního kalendáře, pokud byla úspěšná. V opačném případě vrátí tato zpráva hodnotu -1.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_SETCOLOR, jak je popsáno v sadě Windows SDK.

Příklad

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

Nastaví ovládací prvek kalendáře aktuálního měsíce tak, aby zobrazoval zadané zobrazení.

BOOL SetCurrentView(DWORD dwNewView);

Parametry

DwNewView
[v] Jedna z následujících hodnot, která určuje měsíční, roční, desetiletí nebo zobrazení století.

  • MCMV_MONTH: Měsíční zobrazení
  • MCMV_YEAR: Roční zobrazení
  • MCMV_DECADE: Zobrazení desetiletí
  • MCMV_CENTURY: Zobrazení century

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Tato metoda odešle MCM_SETCURRENTVIEW zprávu, která je popsaná v sadě Windows SDK.

CMonthCalCtrl::SetCurSel

Nastaví aktuálně vybrané datum pro ovládací prvek kalendáře měsíce.

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

Parametry

refDateTime
Odkaz na objekt COleDateTime nebo CTime označující aktuálně vybraný ovládací prvek měsíčního kalendáře.

pDateTime
Ukazatel na strukturu SYSTEMTIME , která obsahuje datum, které má být nastaveno jako aktuální výběr.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_SETCURSEL, jak je popsáno v sadě Windows SDK. V implementaci SetCurSelknihovny MFC můžete zadat COleDateTime použití, CTime použití nebo SYSTEMTIME použití struktury.

Příklad

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

Nastaví zobrazení dnů v ovládacím prvku kalendáře měsíce.

BOOL SetDayState(
    int nMonths,
    LPMONTHDAYSTATE pStates);

Parametry

NMonths
Hodnota označující, kolik prvků je v poli, na které pStates odkazuje.

pStates
Ukazatel na pole MONTHDAYSTATE s hodnotami, které definují, jak bude ovládací prvek kalendáře měsíce kreslit každý den v zobrazení. Datový typ MONTHDAYSTATE je bitové pole, kde každý bit (1 až 31) představuje stav dne v měsíci. Pokud je bit zapnutý, zobrazí se odpovídající den tučně; jinak se zobrazí bez zdůraznění.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_SETDAYSTATE, jak je popsáno v sadě Windows SDK.

Příklad

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

Nastaví ovládací prvek kalendáře aktuálního měsíce na zobrazení desetiletí.

BOOL SetDecadeView();

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Tato metoda používá CMonthCalCtrl::SetCurrentView metoda nastavit zobrazení na MCMV_DECADE, který představuje desetiletí zobrazení.

CMonthCalCtrl::SetFirstDayOfWeek

Nastaví den v týdnu, který se zobrazí ve sloupci kalendáře úplně vlevo.

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

Parametry

iDay
Celočíselná hodnota představující den, který se má nastavit jako první den v týdnu. Tato hodnota musí být jedno z čísel dnů. Popis čísel dnů najdete v tématu GetFirstDayOfWeek .

lpnOld
Ukazatel na celé číslo označující první den v týdnu, který byl dříve nastaven.

Návratová hodnota

Nenulové, pokud je předchozí první den týdne nastaven na jinou hodnotu než LOCALE_IFIRSTDAYOFWEEK, což je den uvedený v nastavení ovládacích panelů. V opačném případě vrátí tato funkce hodnotu 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_SETFIRSTDAYOFWEEK, jak je popsáno v sadě Windows SDK.

Příklad

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

Nastaví maximální počet dní, které lze vybrat v ovládacím prvku kalendáře měsíce.

BOOL SetMaxSelCount(int nMax);

Parametry

nMax
Hodnota, která bude nastavena tak, aby představovala maximální počet vybraných dnů.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_SETMAXSELCOUNT, jak je popsáno v sadě Windows SDK.

Příklad

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

Nastaví rychlost posouvání pro ovládací prvek kalendáře měsíce.

int SetMonthDelta(int iDelta);

Parametry

iDelta
Početměsícůch Pokud je tato hodnota nula, rozdíl měsíce se obnoví na výchozí hodnotu, což je počet měsíců zobrazených v ovládacím prvku.

Návratová hodnota

Předchozí rychlost posouvání. Pokud se rychlost posouvání ještě nenastavila, návratová hodnota je 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_SETMONTHDELTA, jak je popsáno v sadě Windows SDK.

CMonthCalCtrl::SetMonthView

Nastaví ovládací prvek kalendáře aktuálního měsíce tak, aby zobrazoval zobrazení měsíce.

BOOL SetMonthView();

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Tato metoda používá CMonthCalCtrl::SetCurrentView metoda nastavit zobrazení na MCMV_MONTH, který představuje zobrazení měsíce.

Příklad

První příklad kódu definuje proměnnou , m_monthCalCtrlkterá se používá pro programový přístup k ovládacímu prvku kalendáře měsíce. Tato proměnná se používá v dalším příkladu.

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

Následující příklad kódu nastaví ovládací prvek kalendáře měsíce tak, aby zobrazoval zobrazení měsíce, roku, desetiletí a století.

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

Nastaví minimální a maximální povolenou kalendářní data pro ovládací prvek kalendáře měsíce.

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

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

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

Parametry

pMinRange
Ukazatel na COleDateTime objekt, CTime objekt nebo strukturu SYSTEMTIME obsahující datum na nejnižší konec rozsahu.

pMaxRange
Ukazatel na COleDateTime objekt, CTime objekt nebo SYSTEMTIME strukturu obsahující datum na nejvyšší konec rozsahu.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_SETRANGE, jak je popsáno v sadě Windows SDK. V implementaci SetRangeknihovny MFC můžete zadat COleDateTime použití, CTime použití nebo SYSTEMTIME použití struktury.

Příklad

Podívejte se na příklad pro CMonthCalCtrl::GetRange.

CMonthCalCtrl::SetSelRange

Nastaví výběr ovládacího prvku kalendáře měsíce na daný rozsah kalendářních dat.

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

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

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

Parametry

pMinRange
Ukazatel na COleDateTime objekt, CTime objekt nebo strukturu SYSTEMTIME obsahující datum na nejnižší konec rozsahu.

pMaxRange
Ukazatel na COleDateTime objekt, CTime objekt nebo SYSTEMTIME strukturu obsahující datum na nejvyšší konec rozsahu.

Návratová hodnota

Nenulové, pokud je úspěšné; jinak 0.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_SETSELRANGE, jak je popsáno v sadě Windows SDK. V implementaci SetSelRangeknihovny MFC můžete zadat COleDateTime použití, CTime použití nebo SYSTEMTIME použití struktury.

CMonthCalCtrl::SetToday

Nastaví ovládací prvek kalendáře pro aktuální den.

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

Parametry

refDateTime
Odkaz na COleDateTime objekt, který obsahuje aktuální datum.

pDateTime
Ve druhé verzi ukazatel na objekt CTime obsahující aktuální informace o datu. Ve třetí verzi ukazatel na strukturu SYSTEMTIME , která obsahuje aktuální informace o datu.

Poznámky

Tato členová funkce implementuje chování zprávy Win32 MCM_SETTODAY, jak je popsáno v sadě Windows SDK.

Příklad

Podívejte se na příklad pro CMonthCalCtrl::GetToday.

CMonthCalCtrl::SetYearView

Nastaví ovládací prvek kalendáře aktuálního měsíce na zobrazení roku.

BOOL SetYearView();

Návratová hodnota

TRUE, pokud tato metoda je úspěšná; jinak NEPRAVDA.

Poznámky

Tato metoda používá CMonthCalCtrl::SetCurrentView metoda nastavit zobrazení na MCMV_YEAR, který představuje roční zobrazení.

CMonthCalCtrl::SizeMinReq

Zobrazí ovládací prvek měsíčního kalendáře na minimální velikost, která zobrazuje jeden měsíc.

BOOL SizeMinReq(BOOL bRepaint = TRUE);

Parametry

bRepaint
Určuje, jestli se má ovládací prvek překreslit. Ve výchozím nastavení hodnota TRUE. Pokud nepravda, nedojde k žádnému překreslení.

Návratová hodnota

Nenulové, pokud má ovládací prvek kalendáře měsíce minimální velikost; jinak 0.

Poznámky

Volání SizeMinReq úspěšně zobrazí ovládací prvek kalendáře celého měsíce pro kalendář jednoho měsíce.

CMonthCalCtrl::SizeRectToMin

Pro ovládací prvek kalendáře aktuálního měsíce vypočítá nejmenší obdélník, který může obsahovat všechny kalendáře, které se vejdou do zadaného obdélníku.

LPRECT SizeRectToMin(LPRECT lpRect);

Parametry

lpRect
[v] Ukazatel na strukturu RECT , která definuje obdélník obsahující požadovaný počet kalendářů.

Návratová hodnota

Ukazatel na strukturu RECT , která definuje obdélník, jehož velikost je menší nebo rovna obdélníku definovanému parametrem lpRect .

Poznámky

Tato metoda vypočítá, kolik kalendářů se vejde do obdélníku určeného parametrem lpRect , a poté vrátí nejmenší obdélník, který může obsahovat tento počet kalendářů. V důsledku toho tato metoda zmenší zadaný obdélník tak, aby přesně odpovídal požadovanému počtu kalendářů.

Tato metoda odešle MCM_SIZERECTTOMIN zprávu, která je popsaná v sadě Windows SDK.

Viz také

Ukázková CMNCTRL1 MFC
CWnd – třída
Graf hierarchie
CDateTimeCtrl – třída