commctrl.h

Macro MonthCal_SetDayState

Asigna los estados de día para todos los meses que son actualmente visibles dentro del control de calendario mensual. Se puede usar esta macro o enviar el mensaje MCM_SETDAYSTATE explícitamente.

Definición

BOOL MonthCal_SetDayState(
    HWND hmc,
    INT cbds,
    LPMONTHDAYSTATE lpDayStateArray
);

Descripción

hmc
Manipulador de ventana de un control de calendario mensual.
cbds
Valor de tipo int que indica cuántos elementos hay en el array lpDayStateArray.
lpDayStateArray
Puntero a un array de valores MONTHDAYSTATE que define cómo el control de calendario mensual dibujará cada día en pantalla.

Valor de retorno

Devuelve un valor distinto de cero si tiene éxito, o cero en caso contrario.

Observaciones

Una aplicación puede asignar el estado de un día explícitamente uasndo esta macro, pero el estado no persiste cuando una parte diferente del calendario es desplazada a la vista. La información del estado de día normalmente se asigna en respuesta a un código de notificación MCN_GETDAYSTATE, el cual es enviado cada vez que el control necesita ser refrescado.

El array lpDayStateArray debe contener tantos elementos como el valor retornado por la siguiente macro:

MonthCal_GetMonthRange(hwndMC, GMR_DAYSTATE, NULL);

La macro anterior devuelve el número total de meses que hay en una vista completa o parcial dentro de la ventana del calendario mensual.

Hay que tener en cuenta que el array lpDayStateArray debe contener valores MONTHDAYSTATE que se corresponden con todos los meses actualmente en el display del control, en orden cronológico. Esto incluye los dos meses que se muestran parcialmente antes del primer mes y después del último.