Controle do calendário mensal

Esta seção contém informações sobre elementos de programação usados com controles de calendário de mês.

Visões gerais

Tópico Contents
Sobre controles de calendário de mês Um controle de calendário de mês implementa uma interface de usuário semelhante a um calendário.
Usando controles de calendário de mês Esta seção fornece informações sobre a programação de controles de calendário de mês.

Macros

Tópico Contents
MonthCal_GetCalendarBorder Obtém o tamanho da borda, em pixels, de um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_GETCALENDARBORDER explicitamente.
MonthCal_GetCalendarCount Obtém o número de calendários exibidos atualmente no controle de calendário. Você pode usar essa macro ou enviar a mensagem de MCM_GETCALENDARCOUNT explicitamente.
MonthCal_GetCalendarGridInfo Obtém informações sobre uma grade de calendário.
MonthCal_GetCALID Obtém a ID de calendário atual para o controle de calendário fornecido. Você pode usar essa macro ou enviar a mensagem de MCM_GETCALID explicitamente.
MonthCal_GetColor Recupera a cor de uma determinada parte de um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_GETCOLOR explicitamente.
MonthCal_GetCurrentView Obtém o modo de exibição para um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_GETCURRENTVIEW explicitamente.
MonthCal_GetCurSel Recupera a data selecionada no momento. Você pode usar essa macro ou enviar a mensagem de MCM_GETCURSEL explicitamente.
MonthCal_GetFirstDayOfWeek Recupera o primeiro dia da semana para um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_GETFIRSTDAYOFWEEK explicitamente.
MonthCal_GetMaxSelCount Recupera o intervalo de datas máximo que pode ser selecionado em um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_GETMAXSELCOUNT explicitamente.
MonthCal_GetMaxTodayWidth Recupera a largura máxima da cadeia de caracteres "hoje" em um controle de calendário de mês. Isso inclui o texto do rótulo e o texto da data. Você pode usar essa macro ou enviar a mensagem de MCM_GETMAXTODAYWIDTH explicitamente.
MonthCal_GetMinReqRect Recupera o tamanho mínimo necessário para exibir um mês completo em um controle de calendário de mês. As informações de tamanho são apresentadas na forma de uma estrutura RECT . Você pode usar essa macro ou enviar a mensagem de MCM_GETMINREQRECT explicitamente.
MonthCal_GetMonthDelta Recupera a taxa de rolagem de um controle de calendário de mês. A taxa de rolagem é o número de meses que o controle move sua exibição quando o usuário clica em um botão de rolagem. Você pode usar essa macro ou enviar a mensagem de MCM_GETMONTHDELTA explicitamente.
MonthCal_GetMonthRange Recupera informações de data (usando estruturas SYSTEMTIME ) que representam os limites alto e baixo da exibição de um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_GETMONTHRANGE explicitamente.
MonthCal_GetRange Recupera as datas mínimas e máximas permitidas definidas para um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_GETRANGE explicitamente.
MonthCal_GetSelRange Recupera informações de data que representam os limites superior e inferior do intervalo de datas atualmente selecionado pelo usuário. Você pode usar essa macro ou enviar a mensagem de MCM_GETSELRANGE explicitamente.
MonthCal_GetToday Recupera as informações de data para a data especificada como "hoje" para um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_GETTODAY explicitamente.
MonthCal_GetUnicodeFormat Recupera o sinalizador de formato de caractere Unicode para o controle. Você pode usar essa macro ou enviar a mensagem de MCM_GETUNICODEFORMAT explicitamente.
MonthCal_HitTest Determina qual parte de um controle de calendário de mês está em um determinado ponto na tela. Você pode usar essa macro ou enviar a mensagem de MCM_HITTEST explicitamente.
MonthCal_SetCalendarBorder Define o tamanho da borda, em pixels, de um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_SETCALENDARBORDER explicitamente.
MonthCal_SetCALID Define a ID do calendário para o controle de calendário fornecido. Você pode usar essa macro ou enviar a mensagem de MCM_SETCALID explicitamente.
MonthCal_SetColor Define a cor para uma determinada parte de um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem MCM_SETCOLOR explicitamente.
MonthCal_SetCurrentView Define o modo de exibição para um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem MCM_SETCURRENTVIEW explicitamente.
MonthCal_SetCurSel Define a data selecionada no momento para um controle de calendário de mês. Se a data especificada não estiver em exibição, o controle atualizará a exibição para exibi-la. Você pode usar essa macro ou enviar a mensagem de MCM_SETCURSEL explicitamente.
MonthCal_SetDayState Define os estados de dia para todos os meses que estão atualmente visíveis dentro de um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_SETDAYSTATE explicitamente.
MonthCal_SetFirstDayOfWeek Define o primeiro dia da semana para um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_SETFIRSTDAYOFWEEK explicitamente.
MonthCal_SetMaxSelCount Define o número máximo de dias que podem ser selecionados em um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem MCM_SETMAXSELCOUNT explicitamente.
MonthCal_SetMonthDelta Define a taxa de rolagem de um controle de calendário de mês. A taxa de rolagem é o número de meses que o controle move sua exibição quando o usuário clica em um botão de rolagem. Você pode usar essa macro ou enviar a mensagem de MCM_SETMONTHDELTA explicitamente.
MonthCal_SetRange Define as datas mínimas e máximas permitidas para um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem de MCM_SETRANGE explicitamente.
MonthCal_SetSelRange Define a seleção de um controle de calendário de mês para um determinado intervalo de datas. Você pode usar essa macro ou enviar a mensagem de MCM_SETSELRANGE explicitamente.
MonthCal_SetToday Define a seleção "hoje" para um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem MCM_SETTODAY explicitamente.
MonthCal_SetUnicodeFormat Define o sinalizador de formato de caractere Unicode para o controle. Essa mensagem permite que você altere o conjunto de caracteres usado pelo controle em tempo de execução em vez de ter que recriar o controle. Você pode usar essa macro ou enviar a mensagem MCM_SETUNICODEFORMAT explicitamente.
MonthCal_SizeRectToMin Calcula quantos calendários caberão no retângulo determinado e, em seguida, retorna o tamanho mínimo que um retângulo precisa ser para se ajustar a esse número de calendários. Você pode usar essa macro ou enviar a mensagem de MCM_SIZERECTTOMIN explicitamente.

Mensagens

Tópico Contents
MCM_GETCALENDARBORDER Obtém o tamanho da borda, em pixels. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetCurrentView.
MCM_GETCALENDARCOUNT Obtém o número de calendários exibidos atualmente no controle de calendário. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetCalendarCount.
MCM_GETCALENDARGRIDINFO Obtém informações sobre uma grade de calendário.
MCM_GETCALID Obtém a ID do calendário para o controle de calendário fornecido. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetCALID.
MCM_GETCOLOR Recupera a cor de uma determinada parte de um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetColor.
MCM_GETCURRENTVIEW Obtém o modo de exibição atual do calendário. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetCurrentView.
MCM_GETCURSEL Recupera a data selecionada no momento. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetCurSel.
MCM_GETFIRSTDAYOFWEEK Recupera o primeiro dia da semana para um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetFirstDayOfWeek.
MCM_GETMAXSELCOUNT Recupera o intervalo de datas máximo que pode ser selecionado em um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetMaxSelCount.
MCM_GETMAXTODAYWIDTH Recupera a largura máxima da cadeia de caracteres "hoje" em um controle de calendário de mês. Isso inclui o texto do rótulo e o texto da data. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetMaxTodayWidth.
MCM_GETMINREQRECT Recupera o tamanho mínimo necessário para exibir um mês completo em um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetMinReqRect.
MCM_GETMONTHDELTA Recupera a taxa de rolagem de um controle de calendário de mês. A taxa de rolagem é o número de meses que o controle move sua exibição quando o usuário clica em um botão de rolagem. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetMonthDelta.
MCM_GETMONTHRANGE Recupera informações de data (usando estruturas SYSTEMTIME ) que representam os limites alto e baixo da exibição de um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetMonthRange.
MCM_GETRANGE Recupera as datas mínimas e máximas permitidas definidas para um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetRange.
MCM_GETSELRANGE Recupera informações de data que representam os limites superior e inferior do intervalo de datas atualmente selecionado pelo usuário. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetSelRange.
MCM_GETTODAY Recupera as informações de data para a data especificada como "hoje" para um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetToday.
MCM_GETUNICODEFORMAT Recupera o sinalizador de formato de caractere Unicode para o controle. Você pode enviar essa mensagem explicitamente ou usar a macro MonthCal_GetUnicodeFormat.
MCM_HITTEST Determina qual parte de um controle de calendário de mês está em um determinado ponto na tela. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_HitTest.
MCM_SETCALENDARBORDER Define o tamanho da borda, em pixels. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetCurrentView.
MCM_SETCALID Define a ID do calendário para o controle de calendário fornecido. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetCALID.
MCM_SETCOLOR Define a cor para uma determinada parte de um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetColor.
MCM_SETCURRENTVIEW Define o modo de exibição atual do calendário. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetCurrentView.
MCM_SETCURSEL Define a data selecionada no momento para um controle de calendário de mês. Se a data especificada não estiver em exibição, o controle atualizará a exibição para exibi-la. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetCurSel.
MCM_SETDAYSTATE Define os estados de dia para todos os meses que estão atualmente visíveis dentro de um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetDayState.
MCM_SETFIRSTDAYOFWEEK Define o primeiro dia da semana para um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetFirstDayOfWeek.
MCM_SETMAXSELCOUNT Define o número máximo de dias que podem ser selecionados em um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetMaxSelCount.
MCM_SETMONTHDELTA Define a taxa de rolagem de um controle de calendário de mês. A taxa de rolagem é o número de meses que o controle move sua exibição quando o usuário clica em um botão de rolagem. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetMonthDelta.
MCM_SETRANGE Define as datas mínimas e máximas permitidas para um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetRange.
MCM_SETSELRANGE Define a seleção de um controle de calendário de mês para um determinado intervalo de datas. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetSelRange.
MCM_SETTODAY Define a seleção "hoje" para um controle de calendário de mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetToday.
MCM_SETUNICODEFORMAT Define o sinalizador de formato de caractere Unicode para o controle. Essa mensagem permite que você altere o conjunto de caracteres usado pelo controle em tempo de execução em vez de ter que recriar o controle. Você pode enviar essa mensagem explicitamente ou usar a macro MonthCal_SetUnicodeFormat.
MCM_SIZERECTTOMIN Calcula quantos calendários caberão no retângulo determinado e, em seguida, retorna o tamanho mínimo que um retângulo precisa ser para se ajustar a esse número de calendários. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SizeRectToMin.

Notifications

Tópico Contents
MCN_GETDAYSTATE Enviado por um controle de calendário de mês para solicitar informações sobre como os dias individuais devem ser exibidos. Esse código de notificação é enviado somente por controles de calendário de mês que usam o estilo MCS_DAYSTATE e é enviado na forma de uma mensagem WM_NOTIFY.
MCN_SELCHANGE Enviado por um controle de calendário de mês quando a data ou o intervalo de datas atualmente selecionado é alterado. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
MCN_SELECT Enviado por um controle de calendário de mês quando o usuário faz uma seleção de data explícita dentro de um controle de calendário de mês. Esta notificação é enviada sob a forma de uma mensagem WM_NOTIFY .
MCN_VIEWCHANGE Enviado por um controle de calendário de mês quando o modo de exibição atual é alterado. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_RELEASEDCAPTURE (mensal) Notifica a janela pai de um controle mensal de que o controle está liberando a captura do mouse. Esta notificação é enviada sob a forma de uma mensagem WM_NOTIFY .

Estruturas

Tópico Contents
MCGRIDINFO Contém informações sobre parte de um controle de calendário.
MCHITTESTINFO Carrega informações específicas para pontos de teste de visitas para um controle de calendário de mês. Essa estrutura é usada com a mensagem MCM_HITTEST e a macro MonthCal_HitTest correspondente.
NMDAYSTATE Carrega as informações necessárias para processar o código de notificação MCN_GETDAYSTATE. Todos os membros dessa estrutura são para entrada, exceto prgDayState, que o aplicativo de recebimento deve definir ao processar MCN_GETDAYSTATE.
Mudança NMSELCHANGE Carrega as informações necessárias para processar o código de notificação MCN_SELCHANGE.
NMVIEWCHANGE Armazena as informações necessárias para processar o código de notificação MCN_VIEWCHANGE.

Constantes

Tópico Contents
Estilos de controle de calendário de mês As constantes de estilo a seguir são usadas ao criar controles de calendário de mês.

Data Types

Tópico Contents
MONTHDAYSTATE O tipo de dados MONTHDAYSTATE é um campo de bits que contém o estado de cada dia em um mês.