commctrl.h

Mensaje MCM_SETDAYSTATE

Definición

MCM_SETDAYSTATE
    cbds=(WPARAM)(INT)wParam
    lpDayStateArray=(LPARAM)(LPMONTHDAYSTATE)lParam

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

Descripción

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.