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
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:
Volání CMonthCalCtrl k vytvoření objektu
CMonthCalCtrl
.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í Create
se 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_monthCalCtrl
která 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_monthCalCtrl
která 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 GetCurSel
knihovny 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_monthCalCtrl
která 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 GetMonthRange
knihovny 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 GetRange
knihovny 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 GetSelRange
knihovny 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 GetToday
knihovny 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
HitTest
MCHITTESTINFO
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_monthCalCtrl
která 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_monthCalCtrl
která 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_CENTURY
na , 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 SetCurSel
knihovny 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_monthCalCtrl
která 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 SetRange
knihovny 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 SetSelRange
knihovny 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