Bagikan melalui


Kelas CMonthCalctrl

Merangkum fungsionalitas kontrol kalender bulan.

Sintaks

class CMonthCalCtrl : public CWnd

Anggota

Konstruktor Publik

Nama Deskripsi
CMonthCalctrl::CMonthCalctrl Membuat CMonthCalCtrl objek.

Metode Publik

Nama Deskripsi
CMonthCalctrl::Create Membuat kontrol kalender bulan dan melampirkannya ke CMonthCalCtrl objek.
CMonthCalctrl::GetCalendarBorder Mengambil lebar batas kontrol kalender bulan ini.
CMonthCalctrl::GetCalendarCount Mengambil jumlah kalender yang ditampilkan dalam kontrol kalender bulan ini.
CMonthCalctrl::GetCalendarGridInfo Mengambil informasi tentang kontrol kalender bulan ini.
CMonthCalctrl::GetCalID Mengambil pengidentifikasi kalender untuk kontrol kalender bulan ini.
CMonthCalCtrl::GetColor Mendapatkan warna area tertentu dari kontrol kalender bulan.
CMonthCalCtrl::GetCurrentView Mengambil tampilan yang saat ini ditampilkan oleh kontrol kalender bulan ini.
CMonthCalctrl::GetCurSel Mengambil waktu sistem seperti yang ditunjukkan oleh tanggal yang saat ini dipilih.
CMonthCalctrl::GetFirstDayOfWeek Mendapatkan hari pertama dalam seminggu untuk ditampilkan di kolom paling kiri kalender.
CMonthCalCtrl::GetMaxSelCount Mengambil jumlah hari maksimum saat ini yang dapat dipilih dalam kontrol kalender bulan.
CMonthCalCtrl::GetMaxTodayWidth Mengambil lebar maksimum string "Hari Ini" untuk kontrol kalender bulan ini.
CMonthCalctrl::GetMinReqRect Mengambil ukuran minimum yang diperlukan untuk memperlihatkan bulan penuh dalam kontrol kalender bulan.
CMonthCalctrl::GetMonthdelta Mengambil laju gulir untuk kontrol kalender bulan.
CMonthCalCtrl::GetMonthRange Mengambil informasi tanggal yang menunjukkan batas tinggi dan rendah tampilan kontrol kalender sebulan.
CMonthCalCtrl::GetRange Mengambil tanggal minimum dan maksimum saat ini yang ditetapkan dalam kontrol kalender bulan.
CMonthCalCtrl::GetSelRange Mengambil informasi tanggal yang menunjukkan batas atas dan bawah rentang tanggal yang saat ini dipilih oleh pengguna.
CMonthCalctrl::GetToday Mengambil informasi tanggal untuk tanggal yang ditentukan sebagai "hari ini" untuk kontrol kalender sebulan.
CMonthCalctrl::Hittest Menentukan bagian mana dari kontrol kalender bulan pada titik tertentu di layar.
CMonthCalCtrl::IsCenturyView Menunjukkan apakah tampilan kontrol kalender bulan ini saat ini adalah tampilan abad.
CMonthCalctrl::IsDecadeView Menunjukkan apakah tampilan kontrol kalender bulan ini saat ini adalah tampilan dekade.
CMonthCalctrl::IsMonthView Menunjukkan apakah tampilan kontrol kalender bulan ini saat ini adalah tampilan bulan.
CMonthCalCtrl::IsYearView Menunjukkan apakah tampilan kontrol kalender bulan ini saat ini adalah tampilan tahunan.
CMonthCalctrl::SetCalendarBorder Mengatur lebar batas kontrol kalender bulan ini.
CMonthCalctrl::SetCalendarBorderDefault Mengatur lebar default batas kontrol kalender bulan ini.
CMonthCalctrl::SetCalID Mengatur pengidentifikasi kalender untuk kontrol kalender bulan ini.
CMonthCalCtrl::SetCenturyView Mengatur kontrol kalender bulan ini untuk menampilkan tampilan abad.
CMonthCalCtrl::SetColor Mengatur warna area tertentu dari kontrol kalender bulan.
CMonthCalCtrl::SetCurrentView Mengatur kontrol kalender bulan ini untuk menampilkan tampilan yang ditentukan.
CMonthCalctrl::SetCurSel Menyetel tanggal terpilih saat ini untuk kontrol kalender bulan.
CMonthCalctrl::SetDayState Mengatur tampilan untuk hari dalam kontrol kalender bulan.
CMonthCalctrl::SetDecadeView Mengatur kontrol kalender bulan ini ke tampilan dekade.
CMonthCalctrl::SetFirstDayOfWeek Mengatur hari dalam seminggu yang akan ditampilkan di kolom paling kiri kalender.
CMonthCalCtrl::SetMaxSelCount Mengatur jumlah hari maksimum yang dapat dipilih dalam kontrol kalender bulan.
CMonthCalctrl::SetMonthDelta Mengatur laju gulir untuk kontrol kalender bulan.
CMonthCalctrl::SetMonthView Mengatur kontrol kalender bulan ini untuk menampilkan tampilan bulan.
CMonthCalCtrl::SetRange Mengatur tanggal minimum dan maksimum yang diizinkan untuk kontrol kalender bulan.
CMonthCalCtrl::SetSelRange Mengatur pilihan untuk kontrol kalender bulan ke rentang tanggal tertentu.
CMonthCalctrl::SetToday Menyetel kontrol kalender untuk hari ini.
CMonthCalCtrl::SetYearView Mengatur kontrol kalender bulan ini ke tampilan tahun.
CMonthCalctrl::SizeMinReq Mengecat ulang kontrol kalender bulan ke ukuran minimum satu bulan.
CMonthCalctrl::SizeRectToMin Untuk kontrol kalender bulan ini, menghitung persegi terkecil yang bisa berisi semua kalender yang pas dalam persegi panjang tertentu.

Keterangan

Kontrol kalender bulan memberi pengguna antarmuka kalender sederhana, tempat pengguna dapat memilih tanggal. Pengguna dapat mengubah tampilan dengan:

  • Menggulir mundur dan maju, dari bulan ke bulan.

  • Mengklik teks Hari Ini untuk menampilkan hari ini (jika gaya MCS_NOTODAY tidak digunakan).

  • Memilih sebulan atau setahun dari menu pop-up.

Anda bisa mengkustomisasi kontrol kalender bulan dengan menerapkan berbagai gaya ke objek saat Anda membuatnya. Gaya ini dijelaskan dalam Gaya Kontrol Kalender Bulan di Windows SDK.

Kontrol kalender bulan dapat menampilkan lebih dari satu bulan, dan dapat menunjukkan hari khusus (seperti hari libur) dengan menebalkan tanggal.

Untuk informasi selengkapnya tentang menggunakan kontrol kalender bulan, lihat Menggunakan CMonthCalCtrl.

Hierarki Warisan

CObject

CCmdTarget

CWnd

CMonthCalCtrl

Persyaratan

Header: afxdtctl.h

CMonthCalctrl::CMonthCalctrl

Membuat CMonthCalCtrl objek.

CMonthCalCtrl();

Keterangan

Anda harus menelepon Create setelah membuat objek.

CMonthCalctrl::Create

Membuat kontrol kalender bulan dan melampirkannya ke CMonthCalCtrl objek.

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

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

Parameter

dwStyle
Menentukan kombinasi gaya Windows yang diterapkan ke kontrol kalender bulan. Lihat Gaya Kontrol Kalender Bulan di Windows SDK untuk informasi selengkapnya tentang gaya.

rect
Referensi ke struktur RECT . Berisi posisi dan ukuran kontrol kalender bulan.

Pt
Referensi ke struktur POINT yang mengidentifikasi lokasi kontrol kalender bulan.

pParentWnd
Penunjuk ke objek CWnd yang merupakan jendela induk kontrol kalender bulan. Ini tidak boleh NULL.

Nid
Menentukan ID kontrol kalender bulan.

Tampilkan Nilai

Bukan nol jika inisialisasi berhasil; jika tidak, 0.

Keterangan

Buat kontrol kalender bulan dalam dua langkah:

  1. Panggil CMonthCalCtrl untuk membuat CMonthCalCtrl objek.

  2. Panggil fungsi anggota ini, yang membuat kontrol kalender bulan dan melampirkannya ke CMonthCalCtrl objek.

Saat Anda memanggil Create, kontrol umum diinisialisasi. Versi Create panggilan Anda menentukan ukurannya:

  • Agar MFC secara otomatis mengukur kontrol menjadi satu bulan, panggil penimpaan yang menggunakan parameter pt .

  • Untuk mengukur kontrol sendiri, panggil penimpaan fungsi ini yang menggunakan parameter rect .

Contoh

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

Mengambil lebar batas kontrol kalender bulan ini.

int GetCalendarBorder() const;

Tampilkan Nilai

Lebar batas kontrol, dalam piksel.

Keterangan

Metode ini mengirim pesan MCM_GETCALENDARBORDER , yang dijelaskan dalam Windows SDK.

CMonthCalctrl::GetCalendarCount

Mengambil jumlah kalender yang ditampilkan dalam kontrol kalender bulan ini.

int GetCalendarCount() const;

Tampilkan Nilai

Jumlah kalender yang saat ini ditampilkan dalam kontrol kalender bulan. Jumlah kalender maksimum yang diizinkan adalah 12.

Keterangan

Metode ini mengirim pesan MCM_GETCALENDARCOUNT , yang dijelaskan di Windows SDK.

CMonthCalctrl::GetCalendarGridInfo

Mengambil informasi tentang kontrol kalender bulan ini.

BOOL GetCalendarGridInfo(PMCGRIDINFO pmcGridInfo) const;

Parameter

pmcGridInfo
[out] Pointer ke struktur MCGRIDINFO yang menerima informasi tentang kontrol kalender bulan ini. Pemanggil bertanggung jawab untuk mengalokasikan dan menginisialisasi struktur ini.

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan MCM_GETCALENDARGRIDINFO , yang dijelaskan dalam Windows SDK.

Contoh

Contoh kode pertama mendefinisikan variabel, m_monthCalCtrl, yang digunakan untuk mengakses kontrol kalender bulan secara terprogram. Variabel ini digunakan dalam contoh berikutnya.

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

Contoh kode berikutnya menggunakan GetCalendarGridInfo metode untuk mengambil tanggal kalender yang ditampilkan kontrol kalender bulan ini.

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

Mengambil pengidentifikasi kalender untuk kontrol kalender bulan ini.

CALID GetCalID() const;

Tampilkan Nilai

Salah satu konstanta pengidentifikasi kalender.

Keterangan

Pengidentifikasi kalender menunjukkan kalender khusus wilayah, seperti kalender Gregorian (dilokalkan), Jepang, atau Hijriah. Aplikasi Anda dapat menggunakan pengidentifikasi kalender yang memiliki berbagai fungsi dukungan bahasa.

Metode ini mengirim pesan MCM_GETCALID , yang dijelaskan dalam Windows SDK.

CMonthCalCtrl::GetColor

Mengambil warna area kontrol kalender bulan yang ditentukan oleh nRegion.

COLORREF GetColor(int nRegion) const;

Parameter

nRegion
Wilayah kontrol kalender bulan tempat warna diambil. Untuk daftar nilai, lihat parameter nRegion SetColor.

Tampilkan Nilai

Nilai COLORREF yang menentukan warna yang terkait dengan bagian kontrol kalender bulan, jika berhasil. Jika tidak, fungsi anggota ini mengembalikan -1.

CMonthCalCtrl::GetCurrentView

Mengambil tampilan yang saat ini ditampilkan oleh kontrol kalender bulan ini.

DWORD GetCurrentView() const;

Tampilkan Nilai

Tampilan saat ini, yang ditunjukkan oleh salah satu nilai berikut:

Nilai Makna
MCMV_MONTH Tampilan bulanan
MCMV_YEAR Tampilan tahunan
MCMV_DECADE Tampilan dekade
MCMV_CENTURY Tampilan abad

Keterangan

Metode ini mengirim pesan MCM_GETCURRENTVIEW , yang dijelaskan dalam Windows SDK.

Contoh

Contoh kode pertama mendefinisikan variabel, m_monthCalCtrl, yang digunakan untuk mengakses kontrol kalender bulan secara terprogram. Variabel ini digunakan dalam contoh berikutnya.

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

Contoh kode berikutnya melaporkan yang menampilkan kontrol kalender bulan yang saat ini ditampilkan.

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

Mengambil waktu sistem seperti yang ditunjukkan oleh tanggal yang saat ini dipilih.

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

BOOL GetCurSel(LPSYSTEMTIME pDateTime) const;

Parameter

refDateTime
Referensi ke objek COleDateTime atau objek CTime . Menerima waktu saat ini.

pDateTime
Penunjuk ke struktur SYSTEMTIME yang akan menerima informasi tanggal yang saat ini dipilih. Parameter ini harus berupa alamat yang valid dan tidak boleh NULL.

Tampilkan Nilai

Bukan nol jika berhasil; lainnya 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_GETCURSEL, seperti yang dijelaskan dalam Windows SDK.

Catatan

Fungsi anggota ini gagal jika gaya MCS_MULTISELECT diatur.

Dalam implementasi MFC, GetCurSelAnda dapat menentukan COleDateTime penggunaan, CTime penggunaan, atau SYSTEMTIME penggunaan struktur.

CMonthCalctrl::GetFirstDayOfWeek

Mendapatkan hari pertama dalam seminggu untuk ditampilkan di kolom paling kiri kalender.

int GetFirstDayOfWeek(BOOL* pbLocal = NULL) const;

Parameter

pbLocal
Penunjuk ke nilai BOOL. Jika nilainya bukan nol, pengaturan kontrol tidak cocok dengan pengaturan di panel kontrol.

Tampilkan Nilai

Nilai bilangan bulat yang mewakili hari pertama dalam seminggu. Lihat Komentar untuk informasi selengkapnya tentang apa yang diwakili bilangan bulat ini.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_GETFIRSTDAYOFWEEK, seperti yang dijelaskan dalam Windows SDK. Hari dalam seminggu direpresentasikan sebagai bilangan bulat, sebagai berikut.

Nilai Hari dalam sepekan
0 Senin
1 Selasa
2 Rabu
3 Kamis
4 Jumat
5 Sabtu
6 Hari Minggu

Contoh

Lihat contoh untuk CMonthCalCtrl::SetFirstDayOfWeek.

CMonthCalCtrl::GetMaxSelCount

Mengambil jumlah hari maksimum saat ini yang dapat dipilih dalam kontrol kalender bulan.

int GetMaxSelCount() const;

Tampilkan Nilai

Nilai bilangan bulat yang menunjukkan jumlah total hari yang dapat dipilih untuk kontrol.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_GETMAXSELCOUNT, seperti yang dijelaskan dalam Windows SDK. Gunakan fungsi anggota ini untuk kontrol dengan kumpulan gaya MCS_MULTISELECT.

Contoh

Lihat contoh untuk CMonthCalCtrl::SetMaxSelCount.

CMonthCalCtrl::GetMaxTodayWidth

Mengambil lebar maksimum string "Hari Ini" untuk kontrol kalender bulan ini.

DWORD GetMaxTodayWidth() const;

Tampilkan Nilai

Lebar string "Hari Ini", dalam piksel.

Contoh

Contoh kode pertama mendefinisikan variabel, m_monthCalCtrl, yang digunakan untuk mengakses kontrol kalender bulan secara terprogram. Variabel ini digunakan dalam contoh berikutnya.

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

Contoh kode berikutnya menunjukkan GetMaxTodayWidth metode .

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

Keterangan

Pengguna dapat kembali ke tanggal saat ini dengan mengklik string "Hari Ini", yang ditampilkan di bagian bawah kontrol kalender bulan. String "Hari Ini" menyertakan teks label dan teks tanggal.

Metode ini mengirim pesan MCM_GETMAXTODAYWIDTH , yang dijelaskan di Windows SDK.

CMonthCalctrl::GetMinReqRect

Mengambil ukuran minimum yang diperlukan untuk memperlihatkan bulan penuh dalam kontrol kalender bulan.

BOOL GetMinReqRect(RECT* pRect) const;

Parameter

pRect
Penunjuk ke struktur RECT yang akan menerima informasi persegi panjang pembatas. Parameter ini harus berupa alamat yang valid dan tidak boleh NULL.

Tampilkan Nilai

Jika berhasil, fungsi anggota ini mengembalikan nonzero dan lpRect menerima informasi batas yang berlaku. Jika tidak berhasil, fungsi anggota mengembalikan 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_GETMINREQRECT, seperti yang dijelaskan dalam Windows SDK.

CMonthCalctrl::GetMonthdelta

Mengambil laju gulir untuk kontrol kalender bulan.

int GetMonthDelta() const;

Tampilkan Nilai

Laju gulir untuk kontrol kalender bulan. Laju gulir adalah jumlah bulan kontrol memindahkan tampilannya saat pengguna mengklik tombol gulir sekali.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_GETMONTHDELTA, seperti yang dijelaskan dalam Windows SDK.

CMonthCalCtrl::GetMonthRange

Mengambil informasi tanggal yang menunjukkan batas tinggi dan rendah tampilan kontrol kalender sebulan.

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;

Parameter

refMinRange
Referensi ke objek COleDateTime atau CTime yang berisi tanggal minimum yang diizinkan.

refMaxRange
Referensi ke objek atau CTime yang COleDateTime berisi tanggal maksimum yang diizinkan.

pMinRange
Penunjuk ke struktur SYSTEMTIME yang berisi tanggal di akhir rentang terendah.

pMaxRange
Penunjuk ke struktur yang SYSTEMTIME berisi tanggal di akhir tertinggi rentang.

dwFlags
Nilai yang menentukan cakupan batas rentang yang akan diambil. Nilai ini harus salah satu dari yang berikut ini.

Nilai Makna
GMR_DAYSTATE Sertakan rentang terlihat bulan sebelumnya dan berikutnya yang hanya ditampilkan sebagian.
GMR_VISIBLE Sertakan hanya bulan-bulan yang sepenuhnya ditampilkan.

Tampilkan Nilai

Bilangan bulat yang mewakili rentang, dalam bulan, terbentang oleh dua batas yang ditunjukkan oleh refMinRange dan refMaxRange dalam versi pertama dan kedua, atau pMinRange dan pMaxRange di versi ketiga.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_GETMONTHRANGE, seperti yang dijelaskan dalam Windows SDK. Dalam implementasi GetMonthRangeMFC, Anda dapat menentukan COleDateTime penggunaan, CTime penggunaan, atau SYSTEMTIME penggunaan struktur.

Contoh

Lihat contoh untuk CMonthCalCtrl::SetDayState.

CMonthCalCtrl::GetRange

Mengambil tanggal minimum dan maksimum saat ini yang ditetapkan dalam kontrol kalender bulan.

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

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

DWORD GetRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Parameter

pMinRange
Penunjuk ke COleDateTime objek, CTime objek, atau struktur SYSTEMTIME yang berisi tanggal di akhir terendah rentang.

pMaxRange
Penunjuk ke COleDateTime objek, CTime objek, atau struktur SYSTEMTIME yang berisi tanggal di akhir tertinggi rentang.

Tampilkan Nilai

DWORD yang bisa nol (tidak ada batasan yang ditetapkan) atau kombinasi nilai berikut yang menentukan informasi batas.

Nilai Makna
GDTR_MAX Batas maksimum diatur untuk kontrol; pMaxRange valid dan berisi informasi tanggal yang berlaku.
GDTR_MIN Batas minimum diatur untuk kontrol; pMinRange valid dan berisi informasi tanggal yang berlaku.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_GETRANGE, seperti yang dijelaskan dalam Windows SDK. Dalam implementasi MFC, GetRangeAnda dapat menentukan COleDateTime penggunaan, CTime penggunaan, atau SYSTEMTIME penggunaan struktur.

Contoh

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

Mengambil informasi tanggal yang menunjukkan batas atas dan bawah rentang tanggal yang saat ini dipilih oleh pengguna.

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

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

BOOL GetSelRange(
    LPSYSTEMTIME pMinRange,
    LPSYSTEMTIME pMaxRange) const;

Parameter

refMinRange
Referensi ke objek COleDateTime atau CTime yang berisi tanggal minimum yang diizinkan.

refMaxRange
Referensi ke objek atau CTime yang COleDateTime berisi tanggal maksimum yang diizinkan.

pMinRange
Penunjuk ke struktur SYSTEMTIME yang berisi tanggal di akhir rentang terendah.

pMaxRange
Penunjuk ke struktur yang SYSTEMTIME berisi tanggal di akhir tertinggi rentang.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_GETSELRANGE, seperti yang dijelaskan dalam Windows SDK. GetSelRange akan gagal jika diterapkan ke kontrol kalender bulan yang tidak menggunakan gaya MCS_MULTISELECT.

Dalam implementasi GetSelRangeMFC, Anda dapat menentukan COleDateTime penggunaan, CTime penggunaan, atau SYSTEMTIME penggunaan struktur.

CMonthCalctrl::GetToday

Mengambil informasi tanggal untuk tanggal yang ditentukan sebagai "hari ini" untuk kontrol kalender sebulan.

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

BOOL GetToday(LPSYSTEMTIME pDateTime) const;

Parameter

refDateTime
Referensi ke objek COleDateTime atau CTime yang menunjukkan hari ini.

pDateTime
Penunjuk ke struktur SYSTEMTIME yang akan menerima informasi tanggal. Parameter ini harus berupa alamat yang valid dan tidak boleh NULL.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_GETTODAY, seperti yang dijelaskan dalam Windows SDK. Dalam implementasi MFC, GetTodayAnda dapat menentukan COleDateTime penggunaan, CTime penggunaan, atau SYSTEMTIME penggunaan struktur.

Contoh

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

Menentukan kontrol kalender bulan mana, jika ada, berada pada posisi tertentu.

DWORD HitTest(PMCHITTESTINFO pMCHitTest);

Parameter

pMCHitTest
Pointer ke struktur MCHITTESTINFO yang berisi titik pengujian hit untuk kontrol kalender bulan.

Tampilkan Nilai

Nilai DWORD. Sama dengan anggota uHit strukturMCHITTESTINFO.

Keterangan

HitTest menggunakan struktur, yang berisi informasi tentang tes MCHITTESTINFO hit.

CMonthCalCtrl::IsCenturyView

Menunjukkan apakah tampilan kontrol kalender bulan ini saat ini adalah tampilan abad.

BOOL IsCenturyView() const;

Tampilkan Nilai

TRUE jika tampilan saat ini adalah tampilan abad; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan MCM_GETCURRENTVIEW , yang dijelaskan dalam Windows SDK. Jika pesan tersebut mengembalikan MCMV_CENTURY, metode ini mengembalikan TRUE.

CMonthCalctrl::IsDecadeView

Menunjukkan apakah tampilan kontrol kalender bulan ini saat ini adalah tampilan dekade.

BOOL IsDecadeView() const;

Tampilkan Nilai

TRUE jika tampilan saat ini adalah tampilan dekade; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan MCM_GETCURRENTVIEW , yang dijelaskan dalam Windows SDK. Jika pesan tersebut mengembalikan MCMV_DECADE, metode ini mengembalikan TRUE.

CMonthCalctrl::IsMonthView

Menunjukkan apakah tampilan kontrol kalender bulan ini saat ini adalah tampilan bulan.

BOOL IsMonthView() const;

Tampilkan Nilai

TRUE jika tampilan saat ini adalah tampilan bulan; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan MCM_GETCURRENTVIEW , yang dijelaskan dalam Windows SDK. Jika pesan tersebut mengembalikan MCMV_MONTH, metode ini mengembalikan TRUE.

CMonthCalCtrl::IsYearView

Menunjukkan apakah tampilan kontrol kalender bulan ini saat ini adalah tampilan tahunan.

BOOL IsYearView() const;

Tampilkan Nilai

TRUE jika tampilan saat ini adalah tampilan tahun; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan MCM_GETCURRENTVIEW , yang dijelaskan dalam Windows SDK. Jika pesan tersebut mengembalikan MCMV_YEAR, metode ini mengembalikan TRUE.

CMonthCalctrl::SetCalendarBorder

Mengatur lebar batas kontrol kalender bulan ini.

void SetCalendarBorder(int cxyBorder);

Parameter

cxyBorder
[di] Lebar batas, dalam piksel.

Keterangan

Jika metode ini berhasil, lebar batas diatur ke parameter cxyBorder . Jika tidak, lebar batas diatur ulang ke nilai default yang ditentukan oleh tema saat ini, atau nol jika tema tidak digunakan.

Metode ini mengirim pesan MCM_SETCALENDARBORDER , yang dijelaskan di Windows SDK.

Contoh

Contoh kode pertama mendefinisikan variabel, m_monthCalCtrl, yang digunakan untuk mengakses kontrol kalender bulan secara terprogram. Variabel ini digunakan dalam contoh berikutnya.

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

Contoh kode berikutnya mengatur lebar batas kontrol kalender bulan menjadi delapan piksel. Gunakan metode CMonthCalCtrl::GetCalendarBorder untuk menentukan apakah metode ini berhasil.

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

CMonthCalctrl::SetCalendarBorderDefault

Mengatur lebar default batas kontrol kalender bulan ini.

void SetCalendarBorderDefault();

Keterangan

Lebar batas diatur ke nilai default yang ditentukan oleh tema saat ini, atau nol jika tema tidak digunakan.

Metode ini mengirim pesan MCM_SETCALENDARBORDER , yang dijelaskan di Windows SDK.

CMonthCalctrl::SetCalID

Mengatur pengidentifikasi kalender untuk kontrol kalender bulan ini.

BOOL SetCalID(CALID calid);

Parameter

calid
[di] Salah satu konstanta pengidentifikasi kalender.

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Pengidentifikasi kalender menentukan kalender khusus wilayah, seperti kalender Gregorian (dilokalkan), Jepang, atau Hijriah. SetCalID Gunakan metode untuk menampilkan kalender yang ditentukan oleh parameter calid jika lokal yang berisi kalender diinstal di komputer Anda.

Metode ini mengirim pesan MCM_SETCALID , yang dijelaskan dalam Windows SDK.

Contoh

Contoh kode pertama mendefinisikan variabel, m_monthCalCtrl, yang digunakan untuk mengakses kontrol kalender bulan secara terprogram. Variabel ini digunakan dalam contoh berikutnya.

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

Contoh kode berikutnya mengatur kontrol kalender bulan untuk menampilkan kalender Era Kaisar Jepang. Metode SetCalID ini hanya berhasil jika kalender tersebut diinstal pada komputer Anda.

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

Mengatur kontrol kalender bulan ini untuk menampilkan tampilan abad.

BOOL SetCenturyView();

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Metode ini menggunakan metode CMonthCalCtrl::SetCurrentView untuk mengatur tampilan ke MCMV_CENTURY, yang mewakili tampilan abad.

CMonthCalCtrl::SetColor

Mengatur warna area tertentu dari kontrol kalender bulan.

COLORREF SetColor(
    int nRegion,
    COLORREF ref);

Parameter

nRegion
Nilai bilangan bulat yang menentukan warna kalender bulan mana yang akan diatur. Nilai ini bisa menjadi salah satu dari yang berikut ini.

Nilai Makna
MCSC_BACKGROUND Warna latar belakang ditampilkan antara bulan.
MCSC_MONTHBK Warna latar belakang ditampilkan dalam sebulan.
MCSC_TEXT Warna yang digunakan untuk menampilkan teks dalam sebulan.
MCSC_TITLEBK Warna latar belakang ditampilkan dalam judul kalender.
MCSC_TITLETEXT Warna yang digunakan untuk menampilkan teks dalam judul kalender.
MCSC_TRAILINGTEXT Warna yang digunakan untuk menampilkan header dan teks hari berikutnya. Header dan hari berikutnya adalah hari dari bulan sebelumnya dan berikutnya yang muncul di kalender saat ini.

ref
Nilai COLORREF untuk pengaturan warna baru untuk bagian kontrol kalender bulan yang ditentukan.

Tampilkan Nilai

Nilai COLORREF yang mewakili pengaturan warna sebelumnya untuk bagian kontrol kalender bulan yang ditentukan, jika berhasil. Jika tidak, pesan ini mengembalikan -1.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_SETCOLOR, seperti yang dijelaskan dalam Windows SDK.

Contoh

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

Mengatur kontrol kalender bulan ini untuk menampilkan tampilan yang ditentukan.

BOOL SetCurrentView(DWORD dwNewView);

Parameter

dwNewView
[di] Salah satu nilai berikut yang menentukan tampilan bulanan, tahunan, dekade, atau abad.

  • MCMV_MONTH: Tampilan bulanan
  • MCMV_YEAR: Tampilan tahunan
  • MCMV_DECADE: Tampilan dekade
  • MCMV_CENTURY: Tampilan abad

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Metode ini mengirim pesan MCM_SETCURRENTVIEW , yang dijelaskan dalam Windows SDK.

CMonthCalctrl::SetCurSel

Menyetel tanggal terpilih saat ini untuk kontrol kalender bulan.

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

Parameter

refDateTime
Referensi ke objek COleDateTime atau CTime yang menunjukkan kontrol kalender bulan yang saat ini dipilih.

pDateTime
Penunjuk ke struktur SYSTEMTIME yang berisi tanggal yang akan ditetapkan sebagai pilihan saat ini.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_SETCURSEL, seperti yang dijelaskan dalam Windows SDK. Dalam implementasi MFC, SetCurSelAnda dapat menentukan COleDateTime penggunaan, CTime penggunaan, atau SYSTEMTIME penggunaan struktur.

Contoh

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

Mengatur tampilan untuk hari dalam kontrol kalender bulan.

BOOL SetDayState(
    int nMonths,
    LPMONTHDAYSTATE pStates);

Parameter

nMonths
Nilai yang menunjukkan berapa banyak elemen dalam array yang dibidik pStates .

pStates
Penunjuk ke array nilai MONTHDAYSTATE yang menentukan bagaimana kontrol kalender bulan akan menggambar setiap hari dalam tampilannya. Jenis data MONTHDAYSTATE adalah bidang bit, di mana setiap bit (1 hingga 31) mewakili status hari dalam sebulan. Jika sedikit menyala, hari yang sesuai akan ditampilkan dalam huruf tebal; jika tidak, itu akan ditampilkan tanpa penekanan.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_SETDAYSTATE, seperti yang dijelaskan dalam Windows SDK.

Contoh

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

Mengatur kontrol kalender bulan ini ke tampilan dekade.

BOOL SetDecadeView();

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Metode ini menggunakan metode CMonthCalCtrl::SetCurrentView untuk mengatur tampilan ke MCMV_DECADE, yang mewakili tampilan dekade.

CMonthCalctrl::SetFirstDayOfWeek

Mengatur hari dalam seminggu yang akan ditampilkan di kolom paling kiri kalender.

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

Parameter

iDay
Nilai bilangan bulat yang menunjukkan hari mana yang akan ditetapkan sebagai hari pertama dalam seminggu. Nilai ini harus berupa salah satu angka hari. Lihat GetFirstDayOfWeek untuk deskripsi nomor hari.

lpnOld
Penunjuk ke bilangan bulat yang menunjukkan hari pertama dalam seminggu yang ditetapkan sebelumnya.

Tampilkan Nilai

Bukan nol jika hari pertama sebelumnya dalam seminggu diatur ke nilai selain dari LOCALE_IFIRSTDAYOFWEEK, yang merupakan hari yang ditunjukkan dalam pengaturan panel kontrol. Jika tidak, fungsi ini mengembalikan 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_SETFIRSTDAYOFWEEK, seperti yang dijelaskan dalam Windows SDK.

Contoh

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

Mengatur jumlah hari maksimum yang dapat dipilih dalam kontrol kalender bulan.

BOOL SetMaxSelCount(int nMax);

Parameter

nMax
Nilai yang akan diatur untuk mewakili jumlah maksimum hari yang dapat dipilih.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_SETMAXSELCOUNT, seperti yang dijelaskan dalam Windows SDK.

Contoh

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

Mengatur laju gulir untuk kontrol kalender bulan.

int SetMonthDelta(int iDelta);

Parameter

iDelta
Jumlah bulan yang akan ditetapkan sebagai laju gulir kontrol. Jika nilai ini nol, delta bulan diatur ulang ke default, yang merupakan jumlah bulan yang ditampilkan dalam kontrol.

Tampilkan Nilai

Laju gulir sebelumnya. Jika laju gulir belum ditetapkan sebelumnya, nilai yang dikembalikan adalah 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_SETMONTHDELTA, seperti yang dijelaskan dalam Windows SDK.

CMonthCalctrl::SetMonthView

Mengatur kontrol kalender bulan ini untuk menampilkan tampilan bulan.

BOOL SetMonthView();

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Metode ini menggunakan metode CMonthCalCtrl::SetCurrentView untuk mengatur tampilan ke MCMV_MONTH, yang mewakili tampilan bulan.

Contoh

Contoh kode pertama mendefinisikan variabel, m_monthCalCtrl, yang digunakan untuk mengakses kontrol kalender bulan secara terprogram. Variabel ini digunakan dalam contoh berikutnya.

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

Contoh kode berikutnya mengatur kontrol kalender bulan untuk menampilkan tampilan bulan, tahun, dekade, dan abad.

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

Mengatur tanggal minimum dan maksimum yang diperbolehkan untuk kontrol kalender bulan.

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

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

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

Parameter

pMinRange
Penunjuk ke COleDateTime objek, CTime objek, atau struktur SYSTEMTIME yang berisi tanggal di akhir terendah rentang.

pMaxRange
Penunjuk ke COleDateTime objek, CTime objek, atau SYSTEMTIME struktur yang berisi tanggal di akhir tertinggi rentang.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_SETRANGE, seperti yang dijelaskan dalam Windows SDK. Dalam implementasi SetRangeMFC, Anda dapat menentukan COleDateTime penggunaan, CTime penggunaan, atau SYSTEMTIME penggunaan struktur.

Contoh

Lihat contoh untuk CMonthCalCtrl::GetRange.

CMonthCalCtrl::SetSelRange

Mengatur pilihan untuk kontrol kalender bulan ke rentang tanggal tertentu.

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

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

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

Parameter

pMinRange
Penunjuk ke COleDateTime objek, CTime objek, atau struktur SYSTEMTIME yang berisi tanggal di akhir terendah rentang.

pMaxRange
Penunjuk ke COleDateTime objek, CTime objek, atau SYSTEMTIME struktur yang berisi tanggal di akhir tertinggi rentang.

Tampilkan Nilai

Bukan nol jika berhasil; jika tidak, 0.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_SETSELRANGE, seperti yang dijelaskan dalam Windows SDK. Dalam implementasi SetSelRangeMFC, Anda dapat menentukan COleDateTime penggunaan, CTime penggunaan, atau SYSTEMTIME penggunaan struktur.

CMonthCalctrl::SetToday

Menyetel kontrol kalender untuk hari ini.

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

Parameter

refDateTime
Referensi ke objek COleDateTime yang berisi tanggal saat ini.

pDateTime
Di versi kedua, penunjuk ke objek CTime yang berisi informasi tanggal saat ini. Di versi ketiga, penunjuk ke struktur SYSTEMTIME yang berisi informasi tanggal saat ini.

Keterangan

Fungsi anggota ini mengimplementasikan perilaku pesan Win32 MCM_SETTODAY, seperti yang dijelaskan dalam Windows SDK.

Contoh

Lihat contoh untuk CMonthCalCtrl::GetToday.

CMonthCalCtrl::SetYearView

Mengatur kontrol kalender bulan ini ke tampilan tahun.

BOOL SetYearView();

Tampilkan Nilai

TRUE jika metode ini berhasil; jika tidak, FALSE.

Keterangan

Metode ini menggunakan metode CMonthCalCtrl::SetCurrentView untuk mengatur tampilan ke MCMV_YEAR, yang mewakili tampilan tahunan.

CMonthCalctrl::SizeMinReq

Menampilkan kontrol kalender bulan ke ukuran minimum yang ditampilkan satu bulan.

BOOL SizeMinReq(BOOL bRepaint = TRUE);

Parameter

bRepaint
Menentukan apakah kontrol akan dicat ulang. Secara default, TRUE. Jika FALSE, tidak ada pengecatan ulang yang terjadi.

Tampilkan Nilai

Bukan nol jika kontrol kalender bulan berukuran minimum; jika tidak, 0.

Keterangan

SizeMinReq Panggilan berhasil menampilkan kontrol kalender seluruh bulan untuk kalender satu bulan.

CMonthCalctrl::SizeRectToMin

Untuk kontrol kalender bulan ini, menghitung persegi terkecil yang bisa berisi semua kalender yang pas dalam persegi panjang tertentu.

LPRECT SizeRectToMin(LPRECT lpRect);

Parameter

lpRect
[di] Penunjuk ke struktur RECT yang menentukan persegi panjang yang berisi jumlah kalender yang diinginkan.

Tampilkan Nilai

Penunjuk ke struktur RECT yang menentukan persegi panjang yang ukurannya kurang dari atau sama dengan persegi yang ditentukan oleh parameter lpRect .

Keterangan

Metode ini menghitung berapa banyak kalender yang dapat pas di persegi panjang yang ditentukan oleh parameter lpRect , lalu mengembalikan persegi terkecil yang dapat berisi jumlah kalender tersebut. Akibatnya, metode ini menyusutkan persegi panjang yang ditentukan agar pas dengan jumlah kalender yang diinginkan.

Metode ini mengirim pesan MCM_SIZERECTTOMIN , yang dijelaskan dalam Windows SDK.

Baca juga

Sampel CMNCTRL1 MFC
Kelas CWnd
Bagan Hierarki
Kelas CDateTimeCtrl