本節包含與月曆控件搭配使用之程序設計元素的相關信息。
綜述
| 主題 | 內容 |
|---|---|
| 關於月曆控件 | 月曆控件會實作類似行事曆的用戶介面。 |
| 使用月曆控件 | 本節提供程式設計月曆控件的相關信息。 |
巨集
| 主題 | 內容 |
|---|---|
| MonthCal_GetCalendarBorder | 取得月曆控件的框線大小,以像素為單位。 您可以使用這個巨集,或明確傳送 MCM_GETCALENDARBORDER 訊息。 |
| MonthCal_GetCalendarCount | 取得行事歷控件中目前顯示的行事曆數目。 您可以使用這個巨集,或明確傳送 MCM_GETCALENDARCOUNT 訊息。 |
| MonthCal_GetCalendarGridInfo | 取得行事歷方格的相關信息。 |
| MonthCal_GetCALID | 取得指定行事歷控件的目前行事曆標識符。 您可以使用這個巨集,或明確傳送 MCM_GETCALID 訊息。 |
| MonthCal_GetColor | 擷取月曆控件指定部分的色彩。 您可以使用這個巨集,或明確傳送 MCM_GETCOLOR 訊息。 |
| MonthCal_GetCurrentView | 取得月曆控件的檢視。 您可以使用這個巨集,或明確傳送 MCM_GETCURRENTVIEW 訊息。 |
| MonthCal_GetCurSel | 擷取目前選取的日期。 您可以使用這個巨集,或明確傳送 MCM_GETCURSEL 訊息。 |
| MonthCal_GetFirstDayOfWeek | 擷取月份行事歷控件的星期的第一天。 您可以使用這個巨集,或明確傳送 MCM_GETFIRSTDAYOFWEEK 訊息。 |
| MonthCal_GetMaxSelCount | 擷取可以在月曆控件中選取的最大日期範圍。 您可以使用這個巨集,或明確傳送 MCM_GETMAXSELCOUNT 訊息。 |
| MonthCal_GetMaxTodayWidth | 擷取月曆控件中 「today」 字串的最大寬度。 這包括標籤文字和日期文字。 您可以使用這個巨集,或明確傳送 MCM_GETMAXTODAYWIDTH 訊息。 |
| MonthCal_GetMinReqRect | 擷取在月曆控件中顯示完整月份所需的最小大小。 大小資訊會以 RECT結構的形式呈現。 您可以使用這個巨集,或明確傳送 MCM_GETMINREQRECT 訊息。 |
| MonthCal_GetMonthDelta | 擷取月曆控件的捲動速率。 捲動速率是當使用者按兩下捲動按鈕時,控件移動其顯示月份數。 您可以使用這個巨集,或明確傳送 MCM_GETMONTHDELTA 訊息。 |
| MonthCal_GetMonthRange | 擷取日期資訊(使用 SYSTEMTIME 結構),代表月曆控件顯示的高低限制。 您可以使用這個巨集,或明確傳送 MCM_GETMONTHRANGE 訊息。 |
| MonthCal_GetRange | 擷取月曆控件所設定的最小和允許日期上限。 您可以使用這個巨集,或明確傳送 MCM_GETRANGE 訊息。 |
| MonthCal_GetSelRange | 擷取日期資訊,代表使用者目前選取之日期範圍的上限和下限。 您可以使用這個巨集,或明確傳送 MCM_GETSELRANGE 訊息。 |
| MonthCal_GetToday | 擷取指定為月曆控件之 「today」 日期的日期資訊。 您可以使用這個巨集,或明確傳送 MCM_GETTODAY 訊息。 |
| MonthCal_GetUnicodeFormat | 擷取 控件的 Unicode 字元格式旗標。 您可以使用這個巨集,或明確傳送 MCM_GETUNICODEFORMAT 訊息。 |
| MonthCal_HitTest | 決定月份行事歷控件的哪個部分位於畫面上的指定點。 您可以使用這個巨集,或明確傳送 MCM_HITTEST 訊息。 |
| MonthCal_SetCalendarBorder | 設定月曆控件的框線大小,以像素為單位。 您可以使用這個巨集,或明確傳送 MCM_SETCALENDARBORDER 訊息。 |
| MonthCal_SetCALID | 設定指定行事歷控件的行事曆標識符。 您可以使用這個巨集,或明確傳送 MCM_SETCALID 訊息。 |
| MonthCal_SetColor | 設定月曆控件指定部分的色彩。 您可以使用這個巨集,或明確傳送 MCM_SETCOLOR 訊息。 |
| MonthCal_SetCurrentView | 設定月曆控件的檢視。 您可以使用這個巨集,或明確傳送 MCM_SETCURRENTVIEW 訊息。 |
| MonthCal_SetCurSel | 設定月份行事歷控件目前選取的日期。 如果指定的日期不在檢視中,控件會更新顯示,使其進入檢視。 您可以使用這個巨集,或明確傳送 MCM_SETCURSEL 訊息。 |
| MonthCal_SetDayState | 設定目前在月曆控件內可見之所有月份的日期狀態。 您可以使用這個巨集,或明確傳送 MCM_SETDAYSTATE 訊息。 |
| MonthCal_SetFirstDayOfWeek | 設定月份行事歷控件的星期的第一天。 您可以使用這個巨集,或明確傳送 MCM_SETFIRSTDAYOFWEEK 訊息。 |
| MonthCal_SetMaxSelCount | 設定可以在月曆控件中選取的天數上限。 您可以使用這個巨集,或明確傳送 MCM_SETMAXSELCOUNT 訊息。 |
| MonthCal_SetMonthDelta | 設定月曆控件的捲動速率。 捲動速率是當使用者按兩下捲動按鈕時,控件移動其顯示月份數。 您可以使用這個巨集,或明確傳送 MCM_SETMONTHDELTA 訊息。 |
| MonthCal_SetRange | 設定月曆控件的最小和允許日期上限。 您可以使用這個巨集,或明確傳送 MCM_SETRANGE 訊息。 |
| MonthCal_SetSelRange | 將月曆控件的選取範圍設定為指定的日期範圍。 您可以使用這個巨集,或明確傳送 MCM_SETSELRANGE 訊息。 |
| MonthCal_SetToday | 設定月曆控件的 [今日] 選取專案。 您可以使用這個巨集,或明確傳送 MCM_SETTODAY 訊息。 |
| MonthCal_SetUnicodeFormat | 設定控件的 Unicode 字元格式旗標。 此訊息可讓您在運行時間變更控件所使用的字元集,而不需要重新建立控件。 您可以使用這個巨集,或明確傳送 MCM_SETUNICODEFORMAT 訊息。 |
| MonthCal_SizeRectToMin | 計算指定矩形中將容納多少個行事曆,然後傳回矩形必須符合該行事曆數目的最小大小。 您可以使用這個巨集,或明確傳送 MCM_SIZERECTTOMIN 訊息。 |
消息
| 主題 | 內容 |
|---|---|
| MCM_GETCALENDARBORDER | 取得框線的大小,以像素為單位。 您可以明確傳送此訊息,或使用 MonthCal_GetCurrentView 巨集。 |
| MCM_GETCALENDARCOUNT | 取得行事歷控件中目前顯示的行事曆數目。 您可以明確傳送此訊息,或使用 MonthCal_GetCalendarCount 巨集。 |
| MCM_GETCALENDARGRIDINFO | 取得行事歷方格的相關信息。 |
| MCM_GETCALID | 取得指定行事歷控件的行事曆標識符。 您可以明確傳送此訊息,或使用 MonthCal_GetCALID 巨集。 |
| MCM_GETCOLOR | 擷取月曆控件指定部分的色彩。 您可以明確傳送此訊息,或使用 MonthCal_GetColor 巨集。 |
| MCM_GETCURRENTVIEW | 取得行事曆的目前檢視。 您可以明確傳送此訊息,或使用 MonthCal_GetCurrentView 巨集。 |
| MCM_GETCURSEL | 擷取目前選取的日期。 您可以明確傳送此訊息,或使用 MonthCal_GetCurSel 巨集。 |
| MCM_GETFIRSTDAYOFWEEK | 擷取月份行事歷控件的星期的第一天。 您可以明確傳送此訊息,或使用 MonthCal_GetFirstDayOfWeek 巨集。 |
| MCM_GETMAXSELCOUNT | 擷取可以在月曆控件中選取的最大日期範圍。 您可以明確傳送此訊息,或使用 MonthCal_GetMaxSelCount 巨集。 |
| MCM_GETMAXTODAYWIDTH | 擷取月曆控件中 「today」 字串的最大寬度。 這包括標籤文字和日期文字。 您可以明確傳送此訊息,或使用 MonthCal_GetMaxTodayWidth 巨集。 |
| MCM_GETMINREQRECT | 擷取在月曆控件中顯示完整月份所需的最小大小。 您可以明確傳送此訊息,或使用 MonthCal_GetMinReqRect 巨集。 |
| MCM_GETMONTHDELTA | 擷取月曆控件的捲動速率。 捲動速率是當使用者按兩下捲動按鈕時,控件移動其顯示月份數。 您可以明確傳送此訊息,或使用 MonthCal_GetMonthDelta 巨集。 |
| MCM_GETMONTHRANGE | 擷取日期資訊(使用 SYSTEMTIME 結構),代表月曆控件顯示的高低限制。 您可以明確傳送此訊息,或使用 MonthCal_GetMonthRange 巨集。 |
| MCM_GETRANGE | 擷取月曆控件所設定的最小和允許日期上限。 您可以明確傳送此訊息,或使用 MonthCal_GetRange 巨集。 |
| MCM_GETSELRANGE | 擷取日期資訊,代表使用者目前選取之日期範圍的上限和下限。 您可以明確傳送此訊息,或使用 MonthCal_GetSelRange 巨集。 |
| MCM_GETTODAY | 擷取指定為月曆控件之 「today」 日期的日期資訊。 您可以明確傳送此訊息,或使用 MonthCal_GetToday 巨集。 |
| MCM_GETUNICODEFORMAT | 擷取 控件的 Unicode 字元格式旗標。 您可以明確傳送此訊息,或使用 MonthCal_GetUnicodeFormat 巨集。 |
| MCM_HITTEST | 決定月份行事歷控件的哪個部分位於畫面上的指定點。 您可以明確傳送此訊息,或使用 MonthCal_HitTest 巨集。 |
| MCM_SETCALENDARBORDER | 設定框線的大小,以像素為單位。 您可以明確傳送此訊息,或使用 MonthCal_SetCurrentView 巨集。 |
| MCM_SETCALID | 設定指定行事歷控件的行事曆標識符。 您可以明確傳送此訊息,或使用 MonthCal_SetCALID 巨集。 |
| MCM_SETCOLOR | 設定月曆控件指定部分的色彩。 您可以明確傳送此訊息,或使用 MonthCal_SetColor 巨集。 |
| MCM_SETCURRENTVIEW | 設定行事曆的目前檢視。 您可以明確傳送此訊息,或使用 MonthCal_SetCurrentView 巨集。 |
| MCM_SETCURSEL | 設定月份行事歷控件目前選取的日期。 如果指定的日期不在檢視中,控件會更新顯示,使其進入檢視。 您可以明確傳送此訊息,或使用 MonthCal_SetCurSel 巨集。 |
| MCM_SETDAYSTATE | 設定目前在月曆控件內可見之所有月份的日期狀態。 您可以明確傳送此訊息,或使用 MonthCal_SetDayState 巨集。 |
| MCM_SETFIRSTDAYOFWEEK | 設定月份行事歷控件的星期的第一天。 您可以明確傳送此訊息,或使用 MonthCal_SetFirstDayOfWeek 巨集。 |
| MCM_SETMAXSELCOUNT | 設定可以在月曆控件中選取的天數上限。 您可以明確傳送此訊息,或使用 MonthCal_SetMaxSelCount 巨集。 |
| MCM_SETMONTHDELTA | 設定月曆控件的捲動速率。 捲動速率是當使用者按兩下捲動按鈕時,控件移動其顯示月份數。 您可以明確傳送此訊息,或使用 MonthCal_SetMonthDelta 巨集。 |
| MCM_SETRANGE | 設定月曆控件的最小和允許日期上限。 您可以明確傳送此訊息,或使用 MonthCal_SetRange 巨集。 |
| MCM_SETSELRANGE | 將月曆控件的選取範圍設定為指定的日期範圍。 您可以明確傳送此訊息,或使用 MonthCal_SetSelRange 巨集。 |
| MCM_SETTODAY | 設定月曆控件的 [今日] 選取專案。 您可以明確傳送此訊息,或使用 MonthCal_SetToday 巨集。 |
| MCM_SETUNICODEFORMAT | 設定控件的 Unicode 字元格式旗標。 此訊息可讓您在運行時間變更控件所使用的字元集,而不需要重新建立控件。 您可以明確傳送此訊息,或使用 MonthCal_SetUnicodeFormat 巨集。 |
| MCM_SIZERECTTOMIN | 計算指定矩形中將容納多少個行事曆,然後傳回矩形必須符合該行事曆數目的最小大小。 您可以明確傳送此訊息,或使用 MonthCal_SizeRectToMin 巨集。 |
通知
| 主題 | 內容 |
|---|---|
| MCN_GETDAYSTATE | 由月曆控件傳送,以要求如何顯示個別天數的相關信息。 此通知程式代碼只會由使用 MCS_DAYSTATE 樣式的月曆控件傳送,並以 WM_NOTIFY 訊息的形式傳送。 |
| MCN_SELCHANGE | 當目前選取的日期或日期範圍變更時,由月曆控件傳送。 此通知碼會以 WM_NOTIFY 訊息的形式傳送。 |
| MCN_SELECT | 當使用者在月曆控件內明確選取日期時,由月曆控件傳送。 此通知會以 WM_NOTIFY 訊息的形式傳送。 |
| MCN_VIEWCHANGE | 當目前檢視變更時,由月曆控件傳送。 此通知碼會以 WM_NOTIFY 訊息的形式傳送。 |
| NM_RELEASEDCAPTURE (monthcal) | 通知月卡控件的父視窗,控件正在釋放滑鼠擷取。 此通知會以 WM_NOTIFY 訊息的形式傳送。 |
結構
| 主題 | 內容 |
|---|---|
| MCGRIDINFO | 包含行事歷控件部分的相關信息。 |
| MCHITTESTINFO | 攜帶月曆控件點擊測試點特有的資訊。 這個結構會與 MCM_HITTEST 訊息和對應的 MonthCal_HitTest 巨集搭配使用。 |
| NMDAYSTATE | 攜帶處理 MCN_GETDAYSTATE 通知程式代碼所需的資訊。 除了 prgDayState 之外,此結構的所有成員都適用於輸入,接收應用程式必須在處理MCN_GETDAYSTATE時設定。 |
| NMSELCHANGE | 攜帶處理 MCN_SELCHANGE 通知程式代碼所需的資訊。 |
| NMVIEWCHANGE | 儲存處理 MCN_VIEWCHANGE 通知程式碼所需的資訊。 |
常數
| 主題 | 內容 |
|---|---|
| 月曆控件樣式 | 建立月曆控件時會使用下列樣式常數。 |
數據類型
| 主題 | 內容 |
|---|---|
| MONTHDAYSTATE |
MONTHDAYSTATE 數據類型是位字段,會在一個月內保留每天的狀態。 |