MCM_SETDAYSTATE message

Sets the day states for all months that are currently visible within a month calendar control. You can send this message explicitly or by using the MonthCal_SetDayState macro.

Parameters

wParam

Value indicating how many elements are in the array that lParam points to.

lParam

Pointer to an array of MONTHDAYSTATE values that define how the month calendar control will draw each day in its display.

Return value

Returns nonzero if successful, or zero otherwise.

Remarks

An application can explicitly set day state information by sending this message, but the state will not persist when a different part of the calendar is scrolled into view. Day state information is usually set in response to the MCN_GETDAYSTATE notification code, which is sent whenever the control needs to be refreshed.

The array at lParam must contain as many elements as the value returned by the following macro:

MonthCal_GetMonthRange(hwndMC, GMR_DAYSTATE, NULL);

Keep in mind that the array at lParam must contain MONTHDAYSTATE values that correspond with all months currently in the control's display, in chronological order. This includes the two months that may be partially displayed before the first month and after the last month.

Requirements

Requirement Value
Minimum supported client
Windows Vista [desktop apps only]
Minimum supported server
Windows Server 2003 [desktop apps only]
Header
Commctrl.h

See also

Using Month Calendar Controls