Compartilhar via


Controle calendário do mês

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

Súmulas

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

Macros

Tópico Conteúdo
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 exibidos atualmente 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 do calendário atual para o controle de calendário especificado. 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 um mês. Você pode usar essa macro ou enviar a mensagem MCM_GETCOLOR explicitamente.
MonthCal_GetCurrentView Obtém a exibição de um controle de calendário de um 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 um 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 mensal. 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 mensal. 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 mensal. 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 de um controle de calendário de um 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 MCM_GETMONTHDELTA explicitamente.
MonthCal_GetMonthRange Recupera informações de data (usando estruturas de SYSTEMTIME) que representam os limites altos e baixos da exibição de um controle de calendário mensal. Você pode usar essa macro ou enviar a mensagem MCM_GETMONTHRANGE explicitamente.
MonthCal_GetRange Recupera as datas mínimas e máximas permitidos 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 MCM_GETSELRANGE explicitamente.
MonthCal_GetToday Recupera as informações de data da 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 especificado. Você pode usar essa macro ou enviar a mensagem MCM_SETCALID explicitamente.
MonthCal_SetColor Define a cor de uma determinada parte de um controle de calendário de um mês. Você pode usar essa macro ou enviar a mensagem MCM_SETCOLOR explicitamente.
MonthCal_SetCurrentView Define a exibição de um controle de calendário de um 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 atualizará 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 visíveis no momento dentro de um controle de calendário mensal. 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 mensal. 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 mensal. 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 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 MCM_SETMONTHDELTA explicitamente.
MonthCal_SetRange Define as datas mínimas e máximas permitidos para um controle de calendário de mês. 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 um 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. Essa mensagem permite que você altere o conjunto de caracteres usado pelo controle em tempo de execução, em vez de precisar 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 especificado 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 MCM_SIZERECTTOMIN explicitamente.

Mensagens

Tópico Conteúdo
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 especificado. 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 um mês. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetColor.
MCM_GETCURRENTVIEW Obtém a 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 um 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 mensal. 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 mensal. 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 mensal. 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 um 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 de SYSTEMTIME) que representam os limites altos e baixos da exibição de um controle de calendário mensal. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_GetMonthRange.
MCM_GETRANGE Recupera as datas mínimas e máximas permitidos 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 da 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 especificado. Você pode enviar essa mensagem explicitamente ou usando a macro MonthCal_SetCALID.
MCM_SETCOLOR Define a cor de uma determinada parte de um controle de calendário de um 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 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 visíveis no momento dentro de um controle de calendário mensal. 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 mensal. 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 mensal. 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 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 permitidos 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 um 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 precisar 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 especificado 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.

Notificações

Tópico Conteúdo
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 apenas 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 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 mensal quando o usuário faz uma seleção de data explícita dentro de um controle de calendário de um mês. Essa notificação é enviada na forma de uma mensagem de WM_NOTIFY.
MCN_VIEWCHANGE Enviado por um controle de calendário mensal quando a exibição atual é alterada. 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. Essa notificação é enviada na forma de uma mensagem de WM_NOTIFY.

Estruturas

Tópico Conteúdo
MCGRIDINFO Contém informações sobre parte de um controle de calendário.
MCHITTESTINFO Carrega informações específicas para pontos de teste de ocorrência 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 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 receptor deve definir ao processar MCN_GETDAYSTATE.
NMSELCHANGE Carrega informações necessárias para processar o código de notificação MCN_SELCHANGE.
NMVIEWCHANGE Armazena informações necessárias para processar o código de notificação MCN_VIEWCHANGE.

Constantes

Tópico Conteúdo
Estilos de controle de calendário 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 Conteúdo
MONTHDAYSTATE O tipo de dados MONTHDAYSTATE é um campo de bits que mantém o estado de cada dia em um mês.