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
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:
Panggil CMonthCalCtrl untuk membuat
CMonthCalCtrl
objek.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, GetCurSel
Anda 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 GetMonthRange
MFC, 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, GetRange
Anda 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 GetSelRange
MFC, 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, GetToday
Anda 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 bulananMCMV_YEAR
: Tampilan tahunanMCMV_DECADE
: Tampilan dekadeMCMV_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, SetCurSel
Anda 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 SetRange
MFC, 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 SetSelRange
MFC, 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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk