BOOL MonthCal_SetDayState(HWND hMonthCal, int cbds, const MONTHDAYSTATE *rgcbds);
参数:
- hMonthCal:要设置的月历控件的句柄。
- cbds:rgcbds 数组的元素个数,表示状态数组的长度。
- rgcbds:指向 MONTHDAYSTATE 数组的指针,该数组包含了日期状态的信息。
typedef struct {
int cDayState;
int *prgDayState;
} MONTHDAYSTATE, *LPMONTHDAYSTATE;
MONTHDAYSTATE 结构包含以下字段:
- cDayState:prgDayState 数组的元素个数,表示具体某一天的状态数组的长度。
- prgDayState:指向状态数组的指针,其中每个元素表示一个日期的状态。可能的状态值包括:
- MCMOD_NONE:正常状态
- MCMOD_HITTEST:不可用状态
- MCMOD_MONTH:高亮显示状态
返回值:
- 如果函数成功,返回值为 TRUE。
- 如果函数失败,返回值为 FALSE。
使用示例:
#include <Commctrl.h>
// ...
HWND hMonthCal = CreateWindowEx(0, MONTHCAL_CLASS, NULL,
WS_BORDER | WS_CHILD | WS_VISIBLE,
10, 10, 200, 200,
hwndParent, (HMENU)ID_MONTHCAL, hInstance, NULL);
if (hMonthCal != NULL) {
// 设置一些日期的状态
MONTHDAYSTATE dayState;
dayState.cDayState = 3; // 状态数组的长度
int rgDayState[] = {MCMOD_NONE, MCMOD_HITTEST, MCMOD_MONTH};
dayState.prgDayState = rgDayState;
// 设置月历控件的日期状态
if (MonthCal_SetDayState(hMonthCal, 1, &dayState)) {
// 设置成功
} else {
// 处理设置失败的情况
}
}
请确保在使用此函数之前,你已经正确初始化了 Common Controls(通过调用 InitCommonControlsEx 函数)。
转载请注明出处:http://www.zyzy.cn/article/detail/24785/Win32 API/Commctrl.h/MonthCal_SetDayState