Partilhar via


Controlo de 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ão geral

Tópico Índice
Sobre os controles de calendário do 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 do mês.

Macros

Tópico Índice
MonthCal_GetCalendarBorder Obtém o tamanho da borda, em pixels, de um controle de calendário mensal. Você pode usar essa macro ou enviar a mensagem MCM_GETCALENDARBORDER explicitamente.
MonthCal_GetCalendarCount Obtém o número de calendários atualmente exibidos no controle de calendário. Você pode usar essa macro ou enviar a mensagem 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 determinado. Você pode usar essa macro ou enviar a mensagem 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 MCM_GETCOLOR explicitamente.
MonthCal_GetCurrentView Obtém a exibição para um controle de calendário de mês. Você pode usar essa macro ou enviar a mensagem MCM_GETCURRENTVIEW explicitamente.
MonthCal_GetCurSel Recupera a data selecionada no momento. Você pode usar essa macro ou enviar a mensagem 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 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 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 MCM_GETMAXTODAYWIDTH explicitamente.
MonthCal_GetMinReqRect Recupera o tamanho mínimo necessário para exibir um mês inteiro em um controle de calendário de mês. As informações de tamanho são apresentadas na forma de uma estrutura deRECT. Você pode usar essa macro ou enviar a mensagem MCM_GETMINREQRECT explicitamente.
MonthCal_GetMonthDelta Recupera a taxa de rolagem para um controle de calendário mensal. A taxa de rolagem é o número de meses em 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 MCM_GETMONTHDELTA explicitamente.
MonthCal_GetMonthRange Recupera informações de data (usando estruturas de 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 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 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 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 MCM_GETUNICODEFORMAT explicitamente.
MonthCal_HitTest Determina qual parte de um controle de calendário mensal está em um determinado ponto na tela. Você pode usar essa macro ou enviar a mensagem MCM_HITTEST explicitamente.
MonthCal_SetCalendarBorder Define o tamanho da borda, em pixels, de um controle de calendário mensal. Você pode usar essa macro ou enviar a mensagem MCM_SETCALENDARBORDER explicitamente.
MonthCal_SetCALID Define a ID do calendário para o controle de calendário determinado. Você pode usar essa macro ou enviar a mensagem 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 atualmente selecionada para um controle de calendário de mês. Se a data especificada não estiver em exibição, o controle atualiza a exibição para exibi-la. Você pode usar essa macro ou enviar a mensagem 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 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 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 para um controle de calendário mensal. A taxa de rolagem é o número de meses em 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 MCM_SETMONTHDELTA explicitamente.
MonthCal_SetRange Define as datas mínimas e máximas permitidas para um controle de calendário mensal. Você pode usar essa macro ou enviar a mensagem 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 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. Esta 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 ter para caber nesse número de calendários. Você pode usar essa macro ou enviar a mensagem MCM_SIZERECTTOMIN explicitamente.

Mensagens

Tópico Índice
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 atualmente exibidos 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 de calendário para o controle de calendário determinado. 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 a vista 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 inteiro 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 para um controle de calendário mensal. A taxa de rolagem é o número de meses em 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 de 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 mensal 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 determinado. 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 atualmente selecionada para um controle de calendário de mês. Se a data especificada não estiver em exibição, o controle atualiza 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 para um controle de calendário mensal. A taxa de rolagem é o número de meses em 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 mensal. 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. Esta 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 ter para caber nesse número de calendários. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SizeRectToMin.

Notificações

Tópico Índice
MCN_GETDAYSTATE Enviado por um controle de calendário mensal 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 mensal quando a data ou o intervalo de datas selecionado no momento é alterado. Este código de notificação é enviado na forma de uma mensagem 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 mensal quando o modo de exibição atual é alterado. Este código de notificação é enviado na forma de uma mensagem WM_NOTIFY.
NM_RELEASEDCAPTURE (mensal) Notifica a janela pai de um controle monthcal 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 Índice
MCGRIDINFO Contém informações sobre parte de um controle de calendário.
MCHITTESTINFO Carrega informações específicas para pontos de teste de acerto para um controle de calendário de um 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 recetor deve definir ao processar MCN_GETDAYSTATE.
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 Índice
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.

Tipos de dados

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