#define MonthCal_SetMonthDelta(hmc,n) (int)SNDMSG(hmc,MCM_SETMONTHDELTA,n,0)
#define MCM_GETMAXTODAYWIDTH (MCM_FIRST+21)
#define MonthCal_GetMaxTodayWidth(hmc) (DWORD)SNDMSG(hmc,MCM_GETMAXTODAYWIDTH,0,0)
+#define MCM_GETCURRENTVIEW (MCM_FIRST + 22)
+#define MonthCal_GetCurrentView(hmc) (DWORD)SNDMSG(hmc, MCM_GETCURRENTVIEW, 0, 0)
+#define MCM_GETCALENDARCOUNT (MCM_FIRST + 23)
+#define MonthCal_GetCalendarCount(hmc) (DWORD)SNDMSG(hmc, MCM_GETCALENDARCOUNT, 0, 0)
#define MCM_SETUNICODEFORMAT CCM_SETUNICODEFORMAT
#define MonthCal_SetUnicodeFormat(hwnd,fUnicode) (WINBOOL)SNDMSG((hwnd),MCM_SETUNICODEFORMAT,(WPARAM)(fUnicode),0)
#define MCM_GETUNICODEFORMAT CCM_GETUNICODEFORMAT
#define MonthCal_GetUnicodeFormat(hwnd) (WINBOOL)SNDMSG((hwnd),MCM_GETUNICODEFORMAT,0,0)
+#define MCM_SIZERECTTOMIN (MCM_FIRST + 29)
+#define MonthCal_SizeRectToMin(hmc, prc) SNDMSG(hmc, MCM_SIZERECTTOMIN, 0, (LPARAM)(prc))
#define MCM_SETCALENDARBORDER (MCM_FIRST + 30)
#define MCM_GETCALENDARBORDER (MCM_FIRST + 31)
LPCSTR pszHeaderTitle;
LPCSTR pszHeaderSubTitle;
#endif
-} PROPSHEETPAGEA,*LPPROPSHEETPAGEA;
-typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA;
+} PROPSHEETPAGEA,*LPPROPSHEETPAGEA,
+ PROPSHEETPAGEA_LATEST, *LPPROPSHEETPAGEA_LATEST;
+typedef const PROPSHEETPAGEA *LPCPROPSHEETPAGEA, *LPCPROPSHEETPAGEA_LATEST;
+#define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pcRefParent)
+#define PROPSHEETPAGEA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pszHeaderSubTitle)
+#define PROPSHEETPAGEA_V3_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, hActCtx)
+#define PROPSHEETPAGEA_V4_SIZE sizeof(PROPSHEETPAGEA)
typedef struct _PROPSHEETPAGEW {
DWORD dwSize;
DWORD dwFlags;
LPCWSTR pszHeaderTitle;
LPCWSTR pszHeaderSubTitle;
#endif
-} PROPSHEETPAGEW,*LPPROPSHEETPAGEW;
-typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW;
+} PROPSHEETPAGEW,*LPPROPSHEETPAGEW,
+ PROPSHEETPAGEW_LATEST, *LPPROPSHEETPAGEW_LATEST;
+typedef const PROPSHEETPAGEW *LPCPROPSHEETPAGEW, *LPCPROPSHEETPAGEW_LATEST;
+#define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pcRefParent)
+#define PROPSHEETPAGEW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pszHeaderSubTitle)
+#define PROPSHEETPAGEW_V3_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, hActCtx)
+#define PROPSHEETPAGEW_V4_SIZE sizeof(PROPSHEETPAGEW)
typedef UINT(CALLBACK *LPFNPSPCALLBACKA)(HWND,UINT,LPPROPSHEETPAGEA);
typedef UINT(CALLBACK *LPFNPSPCALLBACKW)(HWND,UINT,LPPROPSHEETPAGEW);
typedef int(CALLBACK *PFNPROPSHEETCALLBACK)(HWND,UINT,LPARAM);
#endif
} PROPSHEETHEADERA,*LPPROPSHEETHEADERA;
typedef const PROPSHEETHEADERA *LPCPROPSHEETHEADERA;
+#define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, pfnCallback)
+#define PROPSHEETHEADERA_V2_SIZE sizeof(PROPSHEETHEADERA)
typedef struct _PROPSHEETHEADERW {
DWORD dwSize;
DWORD dwFlags;
#endif
} PROPSHEETHEADERW,*LPPROPSHEETHEADERW;
typedef const PROPSHEETHEADERW *LPCPROPSHEETHEADERW;
+#define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, pfnCallback)
+#define PROPSHEETHEADERW_V2_SIZE sizeof(PROPSHEETHEADERW)
typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE,LPARAM);
typedef BOOL(CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID,LPFNADDPROPSHEETPAGE,LPARAM);
typedef struct _PSHNOTIFY {