Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
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
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:
A CMonthCalCtrl meghívása objektum
CMonthCalCtrllétrehozásához.Hívja meg ezt a tagfüggvényt, amely létrehoz egy havi naptár vezérlőelemet, és csatolja az
CMonthCalCtrlobjektumhoz.
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