MonthCal_GetMonthRange 是 Win32 API 中用于获取月历控件(Month Calendar Control)的日期范围的函数。以下是该函数的声明:
BOOL MonthCal_GetMonthRange(HWND hMonthCal, int nWhichMonth, LPSYSTEMTIME lpSysTimeArray);

参数:
  •  hMonthCal:要查询的月历控件的句柄。

  •  nWhichMonth:指定查询的是哪个月的日期范围。0 表示当前可见月,-1 表示上一个月,1 表示下一个月,以此类推。

  •  lpSysTimeArray:指向 SYSTEMTIME 结构数组的指针,用于接收日期范围的开始和结束时间。


返回值:
  •  如果函数成功,返回值为 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) {
    SYSTEMTIME sysTimeArray[2]; // 用于存储日期范围的开始和结束时间

    // 查询当前可见月的日期范围
    if (MonthCal_GetMonthRange(hMonthCal, 0, sysTimeArray)) {
        // 使用 sysTimeArray 进行进一步的操作
    } else {
        // 处理获取失败的情况
    }
}

请确保在使用此函数之前,你已经正确初始化了 Common Controls(通过调用 InitCommonControlsEx 函数)。


转载请注明出处:http://www.zyzy.cn/article/detail/24778/Win32 API/Commctrl.h/MonthCal_GetMonthRange