Megosztás:


CMonthCalCtrl osztály

Egy havi naptár vezérlőelem funkcióinak beágyazása.

Szemantika

class CMonthCalCtrl : public CWnd

Tagok

Nyilvános konstruktorok

Név Leírás
CMonthCalCtrl::CMonthCalCtrl Egy CMonthCalCtrl objektumot hoz létre.

Nyilvános metódusok

Név Leírás
CMonthCalCtrl::Létrehozás Létrehoz egy havi naptárvezérlőt, és csatolja az CMonthCalCtrl objektumhoz.
CMonthCalCtrl::GetCalendarBorder Lekéri az aktuális havi naptár vezérlőelem szegélyének szélességét.
CMonthCalCtrl::GetCalendarCount Az aktuális havi naptár vezérlőelemben megjelenített naptárak számát kéri le.
CMonthCalCtrl::GetCalendarGridInfo Adatokat kér le az aktuális havi naptár vezérlőelemről.
CMonthCalCtrl::GetCalID Lekéri az aktuális havi naptár vezérlőelem naptárazonosítóit.
CMonthCalCtrl::GetColor Lekéri a havi naptár vezérlőelem egy adott területének színét.
CMonthCalCtrl::GetCurrentView Lekéri az aktuális havi naptár vezérlőelem által jelenleg megjelenített nézetet.
CMonthCalCtrl::GetCurSel Lekéri a rendszeridőt az aktuálisan kiválasztott dátumnak megfelelően.
CMonthCalCtrl::GetFirstDayOfWeek A hét első napját jeleníti meg a naptár bal szélső oszlopában.
CMonthCalCtrl::GetMaxSelCount Lekéri a havi naptár vezérlőelemben kiválasztható napok maximális számát.
CMonthCalCtrl::GetMaxTodayWidth Lekéri az aktuális havi naptár vezérlőelem "Ma" sztringjének maximális szélességét.
CMonthCalCtrl::GetMinReqRect Lekéri a teljes hónap megjelenítéséhez szükséges minimális méretet egy havi naptár vezérlőelemben.
CMonthCalCtrl::GetMonthDelta Lekéri a havi naptár vezérlőelem görgetési sebességét.
CMonthCalCtrl::GetMonthRange Beolvassa a havi naptár vezérlőelemek megjelenítésének magas és alacsony korlátait ábrázoló dátumadatokat.
CMonthCalCtrl::GetRange Lekéri a havi naptár vezérlőelemben beállított aktuális minimális és maximális dátumokat.
CMonthCalCtrl::GetSelRange Beolvassa a felhasználó által jelenleg kijelölt dátumtartomány felső és alsó korlátját ábrázoló dátumadatokat.
CMonthCalCtrl::GetToday A hónap naptárvezérlőjének "ma" értékként megadott dátum dátumadatait kéri le.
CMonthCalCtrl::HitTest Meghatározza, hogy egy hónap naptárvezérlőjének mely szakasza van a képernyőn egy adott ponton.
CMonthCalCtrl::IsCenturyView Azt jelzi, hogy az aktuális havi naptár vezérlőelem aktuális nézete az évszázad nézet-e.
CMonthCalCtrl::IsDecadeView Azt jelzi, hogy az aktuális havi naptár vezérlőelem aktuális nézete az évtized nézet-e.
CMonthCalCtrl::IsMonthView Azt jelzi, hogy az aktuális havi naptár vezérlőelem aktuális nézete-e a hónap nézet.
CMonthCalCtrl::IsYearView Azt jelzi, hogy az aktuális havi naptár vezérlőelem aktuális nézete az év nézet-e.
CMonthCalCtrl::SetCalendarBorder Az aktuális havi naptár vezérlőelem szegélyének szélességét állítja be.
CMonthCalCtrl::SetCalendarBorderDefault Beállítja az aktuális havi naptár vezérlőelem szegélyének alapértelmezett szélességét.
CMonthCalCtrl::SetCalID Az aktuális havi naptár vezérlőelem naptárazonosítójának beállítása.
CMonthCalCtrl::SetCenturyView Az aktuális havi naptár vezérlőelem beállítása az évszázad nézet megjelenítésére.
CMonthCalCtrl::SetColor Beállítja a havi naptár vezérlőelem adott területének színét.
CMonthCalCtrl::SetCurrentView Beállítja az aktuális havi naptár vezérlőelemet a megadott nézet megjelenítésére.
CMonthCalCtrl::SetCurSel Beállítja az aktuálisan kijelölt dátumot egy havi naptár vezérlőelemhez.
CMonthCalCtrl::SetDayState Beállítja a napok megjelenítését egy hónap naptár vezérlőelemében.
CMonthCalCtrl::SetDecadeView Az aktuális havi naptár vezérlőelemet évtizedes nézetre állítja.
CMonthCalCtrl::SetFirstDayOfWeek Beállítja, hogy a hét napja megjelenjen a naptár bal szélső oszlopában.
CMonthCalCtrl::SetMaxSelCount A hónap naptárvezérlőjében kiválasztható napok maximális számát adja meg.
CMonthCalCtrl::SetMonthDelta Beállítja a havi naptár vezérlőelem görgetési sebességét.
CMonthCalCtrl::SetMonthView Az aktuális havi naptár vezérlőelem beállítása a hónap nézet megjelenítésére.
CMonthCalCtrl::SetRange Beállítja a havi naptár vezérlőelem minimális és maximális engedélyezett dátumát.
CMonthCalCtrl::SetSelRange Egy hónap naptár vezérlőelemének kijelölését egy adott dátumtartományra állítja.
CMonthCalCtrl::SetToday Beállítja az aktuális nap naptár vezérlőelemét.
CMonthCalCtrl::SetYearView Az aktuális havi naptár vezérlőelemet év nézetre állítja.
CMonthCalCtrl::SizeMinReq A havi naptár vezérlőelemet újrafesti a minimális, egy hónapos méretre.
CMonthCalCtrl::SizeRectToMin Az aktuális havi naptár vezérlőelem esetében kiszámítja a legkisebb téglalapot, amely egy adott téglalapba illeszkedő összes naptárt tartalmazhat.

Megjegyzések

A havi naptár vezérlőelem egyszerű naptárfelületet biztosít a felhasználónak, amelyből a felhasználó kiválaszthatja a dátumot. A felhasználó a következő módosítással módosíthatja a megjelenítést:

  • Görgetés előre és hátra, hónapról hónapra.

  • Kattintson a Ma szövegre az aktuális nap megjelenítéséhez (ha a MCS_NOTODAY stílus nincs használatban).

  • Egy hónap vagy egy év kiválasztása előugró menüből.

A havi naptár vezérlőelem testreszabásához többféle stílust alkalmazhat az objektumra a létrehozáskor. Ezeket a stílusokat a Windows SDK havi naptárvezérlő stílusai ismertetik.

A havi naptár vezérlőelem több hónapot is megjeleníthet, és a dátum félkövérítésével jelezheti a különleges napokat (például ünnepnapokat).

A havi naptár vezérlőelem használatáról további információt a CMonthCalCtrl használata című témakörben talál.

Öröklési hierarchia

CObject

CCmdTarget

CWnd

CMonthCalCtrl

Követelmények

Fejléc: afxdtctl.h

CMonthCalCtrl::CMonthCalCtrl

Egy CMonthCalCtrl objektumot hoz létre.

CMonthCalCtrl();

Megjegyzések

Az objektum létrehozása után fel kell hívnia a hívást Create .

CMonthCalCtrl::Létrehozás

Létrehoz egy havi naptárvezérlőt, és csatolja az CMonthCalCtrl objektumhoz.

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

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

Paraméterek

dwStyle
A havi naptár vezérlőelemre alkalmazott Windows-stílusok kombinációját adja meg. A stílusokkal kapcsolatos további információkért tekintse meg a Windows SDK hónapnaptár-vezérlőstílusait .

téglalap
EGY RECT-struktúrára mutató hivatkozás. A hónap naptárvezérlőjének helyét és méretét tartalmazza.

Pt
Hivatkozás egy PONT-struktúrára , amely azonosítja a hónap naptárvezérlőjének helyét.

pParentWnd
Mutató egy CWnd objektumra, amely a hónap naptárvezérlőjének szülőablaka. Nem lehet NULL.

Nid
Megadja a hónap naptárvezérlőjének vezérlőazonosítóját.

Visszaadott érték

Nonzero, ha az inicializálás sikeres volt; egyéb esetben 0.

Megjegyzések

Hozzon létre egy havi naptár vezérlőelemet két lépésben:

  1. A CMonthCalCtrl meghívása objektum CMonthCalCtrl létrehozásához.

  2. Hívja meg ezt a tagfüggvényt, amely létrehoz egy havi naptár vezérlőelemet, és csatolja az CMonthCalCtrl objektumhoz.

Híváskor Createa rendszer inicializálja a gyakori vezérlőket. A hívás verziója Create határozza meg a méretét:

  • Ha azt szeretné, hogy az MFC automatikusan egy hónapra méretezhesse a vezérlőt, hívja meg a pt paramétert használó felülbírálást.

  • A vezérlő saját méretezéséhez hívja meg ennek a függvénynek a felülbírálását, amely a rect paramétert használja.

példa

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

Lekéri az aktuális havi naptár vezérlőelem szegélyének szélességét.

int GetCalendarBorder() const;

Visszaadott érték

A vezérlőszegély szélessége képpontban.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETCALENDARBORDER üzenetet.

CMonthCalCtrl::GetCalendarCount

Az aktuális havi naptár vezérlőelemben megjelenített naptárak számát kéri le.

int GetCalendarCount() const;

Visszaadott érték

A havi naptár vezérlőelemben jelenleg megjelenített naptárak száma. A naptárak maximális száma 12.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETCALENDARCOUNT üzenetet.

CMonthCalCtrl::GetCalendarGridInfo

Adatokat kér le az aktuális havi naptár vezérlőelemről.

BOOL GetCalendarGridInfo(PMCGRIDINFO pmcGridInfo) const;

Paraméterek

pmcGridInfo
[kifelé] Mutasson egy MCGRIDINFO-struktúrára , amely információkat kap az aktuális havi naptár vezérlőelemről. A hívó felelős a struktúra kiosztásáért és inicializálásáért.

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETCALENDARGRIDINFO üzenetet.

példa

Az első példakód határozza meg azt a változót, m_monthCalCtrlamely a havi naptár vezérlőelem programozott elérésére szolgál. Ezt a változót a következő példában használjuk.

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

A következő példakód a GetCalendarGridInfo metódus használatával kéri le az aktuális havi naptár vezérlőelem által megjelenített naptárdátumot.

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

Lekéri az aktuális havi naptár vezérlőelem naptárazonosítóit.

CALID GetCalID() const;

Visszaadott érték

Az egyik naptárazonosító-állandó .

Megjegyzések

A naptárazonosítók régióspecifikus naptárakat jelölnek, például gergelyi (honosított), japán vagy hijri naptárakat. Az alkalmazás használhat olyan naptárazonosítót, amely különböző nyelvi támogatási függvényekkel rendelkezik.

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETCALID üzenetet.

CMonthCalCtrl::GetColor

Lekéri az nRegion által megadott havi naptár vezérlőelem egy területének színét.

COLORREF GetColor(int nRegion) const;

Paraméterek

nRégió
Annak a hónapnak a régiója, amelyből a szín beolvasható. Az értékek listáját a SetColornRegion paraméterében találja.

Visszaadott érték

Egy COLORREF érték, amely megadja a hónap naptárvezérlőjének részéhez tartozó színt, ha sikeres. Ellenkező esetben ez a tagfüggvény -1 értéket ad vissza.

CMonthCalCtrl::GetCurrentView

Lekéri az aktuális havi naptár vezérlőelem által jelenleg megjelenített nézetet.

DWORD GetCurrentView() const;

Visszaadott érték

Az aktuális nézet, amelyet az alábbi értékek egyike jelez:

Érték Értelmezés
MCMV_MONTH Havi nézet
MCMV_YEAR Éves nézet
MCMV_DECADE Évtized nézet
MCMV_CENTURY Század nézet

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETCURRENTVIEW üzenetet.

példa

Az első példakód határozza meg azt a változót, m_monthCalCtrlamely a havi naptár vezérlőelem programozott elérésére szolgál. Ezt a változót a következő példában használjuk.

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

A következő példakód arról számol be, hogy jelenleg a havi naptár vezérlőelem jelenik meg.

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

Lekéri a rendszeridőt az aktuálisan kiválasztott dátumnak megfelelően.

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

BOOL GetCurSel(LPSYSTEMTIME pDateTime) const;

Paraméterek

refDateTime
Hivatkozás COleDateTime-objektumra vagy CTime-objektumra . Az aktuális időpontot kapja meg.

pDateTime
Egy SYSTEMTIME-struktúra mutatója, amely megkapja az aktuálisan kiválasztott dátumadatokat. Ennek a paraméternek érvényes címnek kell lennie, és nem lehet NULL értékű.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_GETCURSEL viselkedését a Windows SDK-ban leírtak szerint.

Megjegyzés:

Ez a tagfüggvény meghiúsul, ha a stílus MCS_MULTISELECT be van állítva.

Az MFC implementációjában GetCurSelmegadhatja a használatot COleDateTime , a használatot CTime vagy a struktúrahasználatot SYSTEMTIME .

CMonthCalCtrl::GetFirstDayOfWeek

A hét első napját jeleníti meg a naptár bal szélső oszlopában.

int GetFirstDayOfWeek(BOOL* pbLocal = NULL) const;

Paraméterek

pbLocal
Egy BOOL-értékre mutató mutató. Ha az érték nem nulla, a vezérlő beállítása nem egyezik a vezérlőpulton megadott beállítással.

Visszaadott érték

Egész szám, amely a hét első napját jelöli. A megjegyzésekben további információt talál arról, hogy ezek az egész számok mit jelentenek.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_GETFIRSTDAYOFWEEK viselkedését a Windows SDK-ban leírtak szerint. A hét napjai egész számként jelennek meg, az alábbiak szerint.

Érték A hét napjai
0 Hétfő
1 Kedd
2 Szerda
3 Csütörtök
4 Péntek
5 Szombat
6 Vasárnap

példa

Lásd a CMonthCalCtrl::SetFirstDayOfWeek példát.

CMonthCalCtrl::GetMaxSelCount

Lekéri a havi naptár vezérlőelemben kiválasztható napok maximális számát.

int GetMaxSelCount() const;

Visszaadott érték

Egy egész szám, amely a vezérlőelemhez kijelölhető napok teljes számát jelöli.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_GETMAXSELCOUNT viselkedését a Windows SDK-ban leírtak szerint. Ez a tagfüggvény a MCS_MULTISELECT stíluskészlettel rendelkező vezérlőkhöz használható.

példa

Lásd a CMonthCalCtrl::SetMaxSelCount példát.

CMonthCalCtrl::GetMaxTodayWidth

Lekéri az aktuális havi naptár vezérlőelem "Ma" sztringjének maximális szélességét.

DWORD GetMaxTodayWidth() const;

Visszaadott érték

A "Ma" sztring szélessége képpontban.

példa

Az első példakód határozza meg azt a változót, m_monthCalCtrlamely a havi naptár vezérlőelem programozott elérésére szolgál. Ezt a változót a következő példában használjuk.

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

A következő példakód a metódust GetMaxTodayWidth mutatja be.

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

Megjegyzések

A felhasználó a hónap naptárvezérlőjének alján megjelenő "Ma" sztringre kattintva visszatérhet az aktuális dátumhoz. A "Ma" sztring címkeszöveget és dátumszöveget tartalmaz.

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETMAXTODAYWIDTH üzenetet.

CMonthCalCtrl::GetMinReqRect

Lekéri a teljes hónap megjelenítéséhez szükséges minimális méretet egy havi naptár vezérlőelemben.

BOOL GetMinReqRect(RECT* pRect) const;

Paraméterek

pRect
Mutató egy RECT-struktúra felé, amely határolókeret-információkat fog kapni. Ennek a paraméternek érvényes címnek kell lennie, és nem lehet NULL értékű.

Visszaadott érték

Ha sikeres, ez a tagfüggvény nem ad vissza értéket, és lpRect megkapja a vonatkozó határoló információkat. Sikertelenség esetén a tagfüggvény 0 értéket ad vissza.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_GETMINREQRECT viselkedését a Windows SDK-ban leírtak szerint.

CMonthCalCtrl::GetMonthDelta

Lekéri a havi naptár vezérlőelem görgetési sebességét.

int GetMonthDelta() const;

Visszaadott érték

A havi naptár vezérlőelem görgetési sebessége. A görgetési sebesség az a hónapszám, amikor a felhasználó egyszer kattint egy görgetőgombra, a vezérlőelem áthelyezi a megjelenítést.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_GETMONTHDELTA viselkedését a Windows SDK-ban leírtak szerint.

CMonthCalCtrl::GetMonthRange

Beolvassa a havi naptár vezérlőelemek megjelenítésének magas és alacsony korlátait ábrázoló dátumadatokat.

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;

Paraméterek

refMinRange
Hivatkozás egy COleDateTime vagy CTime objektumra, amely az engedélyezett minimális dátumot tartalmazza.

refMaxRange
Hivatkozás egy COleDateTime vagy CTime objektumra, amely az engedélyezett maximális dátumot tartalmazza.

pMinRange
Mutató egy SYSTEMTIME-struktúrára , amely a tartomány legalsó végén lévő dátumot tartalmazza.

pMaxRange
Mutató egy SYSTEMTIME olyan struktúrára, amely a tartomány legmagasabb végén lévő dátumot tartalmazza.

dwFlags
A lekérendő tartománykorlátok hatókörét meghatározó érték. Ennek az értéknek az alábbiak egyikének kell lennie.

Érték Értelmezés
GMR_DAYSTATE A csak részben megjelenített látható tartomány előző és záró hónapját is belefoglalja.
GMR_VISIBLE Csak azokat a hónapokat foglalja bele, amelyek teljes egészében megjelennek.

Visszaadott érték

Egy egész szám, amely hónapokban a tartományt jelöli, az első és a második verzióban a refMinRange és a refMaxRange által jelzett két korláttal, vagy a harmadik verzió pMinRange és pMaxRange értékével.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_GETMONTHRANGE viselkedését a Windows SDK-ban leírtak szerint. Az MFC implementációjában GetMonthRangemegadhatja COleDateTime a használatot, a használatot CTime vagy a struktúrahasználatot SYSTEMTIME .

példa

Lásd a CMonthCalCtrl::SetDayState példát.

CMonthCalCtrl::GetRange

Lekéri a havi naptár vezérlőelemben beállított aktuális minimális és maximális dátumokat.

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

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

DWORD GetRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Paraméterek

pMinRange
Mutató egy COleDateTime objektumra, objektumra CTime vagy SYSTEMTIME-struktúrára , amely a tartomány legalsó végén lévő dátumot tartalmazza.

pMaxRange
Mutató egy COleDateTime objektumra, objektumra CTime vagy SYSTEMTIME-struktúrára , amely a tartomány legmagasabb végén lévő dátumot tartalmazza.

Visszaadott érték

Nulla (nincsenek megadva korlátok) vagy a korlátinformációt meghatározó alábbi értékek kombinációja.

Érték Értelmezés
GDTR_MAX A vezérlőelem maximális korlátja van beállítva; A pMaxRange érvényes, és tartalmazza a vonatkozó dátumadatokat.
GDTR_MIN A vezérlőhöz minimális korlát van beállítva; A pMinRange érvényes, és tartalmazza a vonatkozó dátumadatokat.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_GETRANGE viselkedését a Windows SDK-ban leírtak szerint. Az MFC implementációjában GetRangemegadhatja a használatot COleDateTime , a használatot CTime vagy a struktúrahasználatot SYSTEMTIME .

példa

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

Beolvassa a felhasználó által jelenleg kijelölt dátumtartomány felső és alsó korlátját ábrázoló dátumadatokat.

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

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

BOOL GetSelRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Paraméterek

refMinRange
Hivatkozás egy COleDateTime vagy CTime objektumra, amely az engedélyezett minimális dátumot tartalmazza.

refMaxRange
Hivatkozás egy COleDateTime vagy CTime objektumra, amely az engedélyezett maximális dátumot tartalmazza.

pMinRange
Mutató egy SYSTEMTIME-struktúrára , amely a tartomány legalsó végén lévő dátumot tartalmazza.

pMaxRange
Mutató egy SYSTEMTIME olyan struktúrára, amely a tartomány legmagasabb végén lévő dátumot tartalmazza.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_GETSELRANGE viselkedését a Windows SDK-ban leírtak szerint. GetSelRange sikertelen lesz, ha olyan havi naptár vezérlőelemre alkalmazza, amely nem használja a MCS_MULTISELECT stílust.

Az MFC implementációjában GetSelRangemegadhatja COleDateTime a használatot, a használatot CTime vagy a struktúrahasználatot SYSTEMTIME .

CMonthCalCtrl::GetToday

A hónap naptárvezérlőjének "ma" értékként megadott dátum dátumadatait kéri le.

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

BOOL GetToday(LPSYSTEMTIME pDateTime) const;

Paraméterek

refDateTime
Az aktuális napot jelző COleDateTime vagy CTime objektumra mutató hivatkozás.

pDateTime
Mutató egy SYSTEMTIME-struktúrára , amely megkapja a dátumadatokat. Ennek a paraméternek érvényes címnek kell lennie, és nem lehet NULL értékű.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_GETTODAY viselkedését a Windows SDK-ban leírtak szerint. Az MFC implementációjában GetTodaymegadhatja a használatot COleDateTime , a használatot CTime vagy a struktúrahasználatot SYSTEMTIME .

példa

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

Meghatározza, hogy a hónap naptárvezérlője (ha van ilyen) egy adott pozícióban legyen.

DWORD HitTest(PMCHITTESTINFO pMCHitTest);

Paraméterek

pMCHitTest
Mutató egy MCHITTESTINFO-struktúrára , amely a hónap naptárvezérlőjének találattesztelési pontjait tartalmazza.

Visszaadott érték

Egy DWORD érték. Egyenlő a struktúra uHit tagával MCHITTESTINFO .

Megjegyzések

HitTest A szerkezetet MCHITTESTINFO használja, amely információkat tartalmaz a találati tesztről.

CMonthCalCtrl::IsCenturyView

Azt jelzi, hogy az aktuális havi naptár vezérlőelem aktuális nézete az évszázad nézet-e.

BOOL IsCenturyView() const;

Visszaadott érték

IGAZ, ha az aktuális nézet az évszázados nézet; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETCURRENTVIEW üzenetet. Ha az üzenet MCMV_CENTURY ad vissza, ez a metódus IGAZ értéket ad vissza.

CMonthCalCtrl::IsDecadeView

Azt jelzi, hogy az aktuális havi naptár vezérlőelem aktuális nézete az évtized nézet-e.

BOOL IsDecadeView() const;

Visszaadott érték

IGAZ, ha az aktuális nézet az évtized nézet; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETCURRENTVIEW üzenetet. Ha az üzenet MCMV_DECADE ad vissza, ez a metódus IGAZ értéket ad vissza.

CMonthCalCtrl::IsMonthView

Azt jelzi, hogy az aktuális havi naptár vezérlőelem aktuális nézete-e a hónap nézet.

BOOL IsMonthView() const;

Visszaadott érték

IGAZ, ha az aktuális nézet a hónap nézet; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETCURRENTVIEW üzenetet. Ha az üzenet MCMV_MONTH ad vissza, ez a metódus IGAZ értéket ad vissza.

CMonthCalCtrl::IsYearView

Azt jelzi, hogy az aktuális havi naptár vezérlőelem aktuális nézete az év nézet-e.

BOOL IsYearView() const;

Visszaadott érték

IGAZ, ha az aktuális nézet az év nézet; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt MCM_GETCURRENTVIEW üzenetet. Ha az üzenet MCMV_YEAR ad vissza, ez a metódus IGAZ értéket ad vissza.

CMonthCalCtrl::SetCalendarBorder

Az aktuális havi naptár vezérlőelem szegélyének szélességét állítja be.

void SetCalendarBorder(int cxyBorder);

Paraméterek

cxyBorder
[in] A szegély szélessége képpontban.

Megjegyzések

Ha ez a módszer sikeres, a szegély szélessége a cxyBorder paraméterre van állítva. Ellenkező esetben a szegélyszélesség alaphelyzetbe áll az aktuális téma által megadott alapértelmezett értékre, vagy nulla értékre, ha a témák nincsenek használatban.

Ez a metódus elküldi a Windows SDK-ban leírt MCM_SETCALENDARBORDER üzenetet.

példa

Az első példakód határozza meg azt a változót, m_monthCalCtrlamely a havi naptár vezérlőelem programozott elérésére szolgál. Ezt a változót a következő példában használjuk.

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

A következő példakód nyolc képpontra állítja a havi naptár vezérlőelem szegélyszélességét. A CMonthCalCtrl::GetCalendarBorder metódus használatával állapítsa meg, hogy a metódus sikeres volt-e.

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

CMonthCalCtrl::SetCalendarBorderDefault

Beállítja az aktuális havi naptár vezérlőelem szegélyének alapértelmezett szélességét.

void SetCalendarBorderDefault();

Megjegyzések

A szegélyszélesség az aktuális téma által megadott alapértelmezett értékre van beállítva, vagy nulla, ha a témák nincsenek használatban.

Ez a metódus elküldi a Windows SDK-ban leírt MCM_SETCALENDARBORDER üzenetet.

CMonthCalCtrl::SetCalID

Az aktuális havi naptár vezérlőelem naptárazonosítójának beállítása.

BOOL SetCalID(CALID calid);

Paraméterek

calid
[in] Az egyik naptárazonosító-állandó .

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

A naptárazonosító egy régióspecifikus naptárt határoz meg, például a Gergely-naptárt (honosított), a japánt vagy a Hijri naptárt. SetCalID A metódussal megjeleníthet egy naptárt, amelyet a calid paraméter határoz meg, ha a naptárt tartalmazó területi beállítás telepítve van a számítógépen.

Ez a metódus elküldi a Windows SDK-ban leírt MCM_SETCALID üzenetet.

példa

Az első példakód határozza meg azt a változót, m_monthCalCtrlamely a havi naptár vezérlőelem programozott elérésére szolgál. Ezt a változót a következő példában használjuk.

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

A következő példakód a hónap naptár vezérlőelemét állítja be a japán császárkor naptárának megjelenítéséhez. A SetCalID metódus csak akkor sikeres, ha a naptár telepítve van a számítógépre.

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

Az aktuális havi naptár vezérlőelem beállítása az évszázad nézet megjelenítésére.

BOOL SetCenturyView();

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus a CMonthCalCtrl::SetCurrentView metódust használja a nézet beállításához MCMV_CENTURY, amely az évszázad nézetét jelöli.

CMonthCalCtrl::SetColor

Beállítja a havi naptár vezérlőelem adott területének színét.

COLORREF SetColor(
    int nRegion,
    COLORREF ref);

Paraméterek

nRégió
Egész szám, amely megadja, hogy melyik hónap naptárszínét kell beállítani. Ez az érték az alábbiak egyike lehet.

Érték Értelmezés
MCSC_BACKGROUND A hónapok között megjelenő háttérszín.
MCSC_MONTHBK A hónap során megjelenő háttérszín.
MCSC_TEXT A szöveg egy hónapon belüli megjelenítéséhez használt szín.
MCSC_TITLEBK A naptár címében megjelenő háttérszín.
MCSC_TITLETEXT A naptár címében lévő szöveg megjelenítéséhez használt szín.
MCSC_TRAILINGTEXT Az élőfej és a záró nap szövegének megjelenítéséhez használt szín. A fejléc és a záró napok az aktuális naptárban megjelenő előző és következő hónapok napjai.

Ref
A hónap naptár vezérlőelemének megadott részének új színbeállításához tartozó COLORREF érték.

Visszaadott érték

Egy COLORREF érték, amely a havi naptár vezérlőelem megadott részének előző színbeállítását jelöli, ha sikeres. Ellenkező esetben az üzenet -1 értéket ad vissza.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_SETCOLOR viselkedését a Windows SDK-ban leírtak szerint.

példa

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

Beállítja az aktuális havi naptár vezérlőelemet a megadott nézet megjelenítésére.

BOOL SetCurrentView(DWORD dwNewView);

Paraméterek

dwNewView
[in] Az alábbi értékek egyike, amely havi, éves, évtizedes vagy évszázados nézetet határoz meg.

  • MCMV_MONTH: Havi nézet
  • MCMV_YEAR: Éves nézet
  • MCMV_DECADE: Évtized nézet
  • MCMV_CENTURY: Század nézet

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus elküldi a Windows SDK-ban leírt MCM_SETCURRENTVIEW üzenetet.

CMonthCalCtrl::SetCurSel

Beállítja az aktuálisan kijelölt dátumot egy havi naptár vezérlőelemhez.

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

Paraméterek

refDateTime
Hivatkozás egy COleDateTime vagy CTime objektumra, amely az aktuálisan kijelölt havi naptár vezérlőelemet jelzi.

pDateTime
Mutasson egy SYSTEMTIME-struktúrára , amely az aktuális kijelölésként beállítani kívánt dátumot tartalmazza.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_SETCURSEL viselkedését a Windows SDK-ban leírtak szerint. Az MFC implementációjában SetCurSelmegadhatja a használatot COleDateTime , a használatot CTime vagy a struktúrahasználatot SYSTEMTIME .

példa

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

Beállítja a napok megjelenítését egy hónap naptár vezérlőelemében.

BOOL SetDayState(
    int nMonths,
    LPMONTHDAYSTATE pStates);

Paraméterek

nMonths
Érték, amely azt jelzi, hogy hány elem van a tömbben, amelyekre a pStates mutat.

pStates
Mutató egy MONTHDAYSTATE értéktömbre, amely meghatározza, hogy a havi naptár vezérlőelem hogyan rajzolja meg az egyes napokat a megjelenítésben. A MONTHDAYSTATE adattípus egy bitmező, ahol minden bit (1–31) egy hónap egy napjának állapotát jelöli. Ha egy bit be van kapcsolva, a megfelelő nap félkövér színben jelenik meg; ellenkező esetben hangsúly nélkül jelenik meg.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_SETDAYSTATE viselkedését a Windows SDK-ban leírtak szerint.

példa

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

Az aktuális havi naptár vezérlőelemet évtizedes nézetre állítja.

BOOL SetDecadeView();

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus a CMonthCalCtrl::SetCurrentView metódussal állítja be a nézetet MCMV_DECADE, amely az évtized nézetét jelöli.

CMonthCalCtrl::SetFirstDayOfWeek

Beállítja, hogy a hét napja megjelenjen a naptár bal szélső oszlopában.

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

Paraméterek

iDay
Egész szám, amely azt jelöli, hogy melyik napot kell beállítani a hét első napjaként. Ennek az értéknek a napi számok egyikének kell lennie. A napi számok leírását a GetFirstDayOfWeek című témakörben talál.

lpnOld
A korábban beállított hét első napját jelző egész számra mutató mutató.

Visszaadott érték

Nonzero, ha a hét előző első napja a LOCALE_IFIRSTDAYOFWEEK értékétől eltérő értékre van beállítva, amely a vezérlőpult beállításában megadott nap. Ellenkező esetben ez a függvény 0 értéket ad vissza.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_SETFIRSTDAYOFWEEK viselkedését a Windows SDK-ban leírtak szerint.

példa

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

A hónap naptárvezérlőjében kiválasztható napok maximális számát adja meg.

BOOL SetMaxSelCount(int nMax);

Paraméterek

nMax
A választható napok maximális számát jelölő érték.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_SETMAXSELCOUNT viselkedését a Windows SDK-ban leírtak szerint.

példa

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

Beállítja a havi naptár vezérlőelem görgetési sebességét.

int SetMonthDelta(int iDelta);

Paraméterek

iDelta
A vezérlőelem görgetési sebességeként beállítani kívánt hónapok száma. Ha ez az érték nulla, a hónap eltérése alaphelyzetbe áll az alapértelmezett értékre, amely a vezérlőelemben megjelenített hónapok száma.

Visszaadott érték

Az előző görgetési sebesség. Ha a görgetési sebesség korábban nem lett beállítva, a visszatérési érték 0.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_SETMONTHDELTA viselkedését a Windows SDK-ban leírtak szerint.

CMonthCalCtrl::SetMonthView

Az aktuális havi naptár vezérlőelem beállítása a hónap nézet megjelenítésére.

BOOL SetMonthView();

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus a CMonthCalCtrl::SetCurrentView metódust használja a nézet MCMV_MONTH beállításához, amely a hónap nézetet jelöli.

példa

Az első példakód határozza meg azt a változót, m_monthCalCtrlamely a havi naptár vezérlőelem programozott elérésére szolgál. Ezt a változót a következő példában használjuk.

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

A következő példakód úgy állítja be a havi naptár vezérlőelemet, hogy megjelenítse a hónap, az év, az évtized és az évszázad nézeteit.

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

Beállítja a havi naptár vezérlőelem minimális és maximális engedélyezett dátumát.

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

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

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

Paraméterek

pMinRange
Mutató egy COleDateTime objektumra, objektumra CTime vagy SYSTEMTIME-struktúrára , amely a tartomány legalsó végén lévő dátumot tartalmazza.

pMaxRange
Mutató egy COleDateTime objektumra, objektumra CTime vagy SYSTEMTIME szerkezetre, amely a tartomány legmagasabb végén lévő dátumot tartalmazza.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_SETRANGE viselkedését a Windows SDK-ban leírtak szerint. Az MFC implementációjában SetRangemegadhatja COleDateTime a használatot, a használatot CTime vagy a struktúrahasználatot SYSTEMTIME .

példa

Lásd a CMonthCalCtrl::GetRange példát.

CMonthCalCtrl::SetSelRange

Egy hónap naptár vezérlőelemének kijelölését egy adott dátumtartományra állítja.

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

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

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

Paraméterek

pMinRange
Mutató egy COleDateTime objektumra, objektumra CTime vagy SYSTEMTIME-struktúrára , amely a tartomány legalsó végén lévő dátumot tartalmazza.

pMaxRange
Mutató egy COleDateTime objektumra, objektumra CTime vagy SYSTEMTIME szerkezetre, amely a tartomány legmagasabb végén lévő dátumot tartalmazza.

Visszaadott érték

Nonzero, ha sikeres; egyéb esetben 0.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_SETSELRANGE viselkedését a Windows SDK-ban leírtak szerint. Az MFC implementációjában SetSelRangemegadhatja COleDateTime a használatot, a használatot CTime vagy a struktúrahasználatot SYSTEMTIME .

CMonthCalCtrl::SetToday

Beállítja az aktuális nap naptár vezérlőelemét.

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

Paraméterek

refDateTime
Az aktuális dátumot tartalmazó COleDateTime-objektumra mutató hivatkozás.

pDateTime
A második verzióban az aktuális dátumadatokat tartalmazó CTime-objektumra mutató mutató. A harmadik verzióban az aktuális dátumadatokat tartalmazó SYSTEMTIME-struktúra mutatója.

Megjegyzések

Ez a tagfüggvény implementálja a Win32-üzenet MCM_SETTODAY viselkedését a Windows SDK-ban leírtak szerint.

példa

Lásd a CMonthCalCtrl::GetToday példát.

CMonthCalCtrl::SetYearView

Az aktuális havi naptár vezérlőelemet év nézetre állítja.

BOOL SetYearView();

Visszaadott érték

IGAZ, ha ez a módszer sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a metódus a CMonthCalCtrl::SetCurrentView metódust használja a nézet MCMV_YEAR beállításához, amely az éves nézetet jelöli.

CMonthCalCtrl::SizeMinReq

A havi naptár vezérlőelemet az egy hónapot megjelenítő minimális méretre jeleníti meg.

BOOL SizeMinReq(BOOL bRepaint = TRUE);

Paraméterek

bRepaint
Megadja, hogy a vezérlőt újra kell-e festeni. Alapértelmezés szerint IGAZ. Ha HAMIS, nem történik újrafestés.

Visszaadott érték

Nonzero, ha a hónap naptár vezérlőeleme a minimális méretre van méretezve; egyéb esetben 0.

Megjegyzések

A hívás SizeMinReq sikeresen megjeleníti az egy hónapos naptár teljes naptár vezérlőelemét.

CMonthCalCtrl::SizeRectToMin

Az aktuális havi naptár vezérlőelem esetében kiszámítja a legkisebb téglalapot, amely egy adott téglalapba illeszkedő összes naptárt tartalmazhat.

LPRECT SizeRectToMin(LPRECT lpRect);

Paraméterek

lpRect
[in] Mutasson egy RECT-struktúrára , amely egy téglalapot határoz meg, amely a kívánt számú naptárt tartalmazza.

Visszaadott érték

Mutasson egy RECT-struktúrára , amely egy téglalapot határoz meg, amelynek mérete kisebb, mint az lpRect paraméter által definiált téglalapé.

Megjegyzések

Ez a módszer kiszámítja, hogy hány naptár fér el az lpRect paraméter által megadott téglalapban, majd visszaadja az adott számú naptárat tartalmazó legkisebb téglalapot. Ez a módszer tulajdonképpen úgy zsugorítja a megadott téglalapot, hogy pontosan illeszkedjen a kívánt számú naptárhoz.

Ez a metódus elküldi a Windows SDK-ban leírt MCM_SIZERECTTOMIN üzenetet.

Lásd még

MFC-minta CMNCTRL1
CWnd osztály
hierarchiadiagram
CDateTimeCtrl osztály