Referência de controle geral

Esta seção contém informações de referência sobre elementos de programação que se aplicam a vários controles, não apenas a um controle específico. Há funções, macros, mensagens, notificações e estruturas que a maioria dos controles suporta. Por exemplo, a maioria dos controles usa as notificações NM_HOVER para processar cliques do mouse.

Visões gerais

Tópico Contents
Sobre controles comuns Os controles comuns são um conjunto de janelas que são implementadas pela biblioteca de controle comum, que é uma DLL incluída com o sistema operacional Windows.
Perguntas frequentes sobre controles comuns Esta FAQ fornece respostas a algumas perguntas comuns sobre os controlos comuns.

Funções

Tópico Contents
DoReaderMode Habilita o modo leitor em uma janela.
DPA_Clone Duplica uma matriz de ponteiro dinâmico (DPA).
DPA_Create Cria um DPA.
DPA_CreateEx Cria um DPA usando um determinado tamanho especificado e local de heap.
DPA_DeleteAllPtrs Remove todos os itens de um DPA e reduz o DPA de acordo.
DPA_DeletePtr Remove um item de um DPA. O DPA encolhe, se necessário, para acomodar o item removido.
DPA_Destroy Libera um DPA (Dynamic Pointer Array).
DPA_DestroyCallback Chama pfnCB em cada elemento do DPA e, em seguida, libera o DPA.
DPA_EnumCallback Itera através do DPA (Dynamic Pointer Array) e chama pfnCB em cada item.
DPA_GetPtr Obtém um item de um DPA.
DPA_GetPtrIndex Obtém o índice de um item correspondente encontrado em um DPA.
DPA_GetSize Obtém o tamanho de um DPA.
DPA_Grow Altera o número de ponteiros em um DPA.
DPA_InsertPtr Insere um novo item em uma posição especificada em um DPA. Se necessário, o DPA se expande para acomodar o novo item.
DPA_LoadStream Carrega o DPA de um fluxo chamando a função de retorno de chamada especificada para ler cada elemento.
DPA_Merge Combina o conteúdo de dois DPAs.
DPA_SaveStream Salva o DPA em um fluxo gravando um cabeçalho e chamando a função de retorno de chamada especificada para gravar cada elemento.
DPA_Search Localiza um item em um DPA.
DPA_SetPtr Atribui um valor a um item em um DPA.
DPA_Sort Classifica os itens em uma matriz de ponteiro dinâmico (DPA).
DrawShadowText Desenha texto que tem uma sombra.
DrawTextExPrivWrap Desenha texto formatado no retângulo especificado. Essa função quebra uma chamada para DrawTextEx.
DrawTextWrap Desenha texto formatado no retângulo especificado. Ele formata o texto de acordo com o método especificado (expandindo guias, justificando caracteres, quebrando linhas e assim por diante). Essa função quebra uma chamada para DrawText.
DSA_Clone Duplica uma matriz de estrutura dinâmica (DSA).
DSA_Create Cria um DSA.
DSA_DeleteAllItems Exclui todos os itens de um DSA.
DSA_DeleteItem Exclui um item de um DSA.
DSA_Destroy Libera um DSA.
DSA_DestroyCallback Itera por meio de um DSA, chamando uma função de retorno de chamada especificada em cada item. Ao chegar ao final da matriz, o DSA é liberado.
DSA_EnumCallback Itera através do DSA e chama pfnCB em cada item.
DSA_GetItem Obtém um elemento de um DSA.
DSA_GetItemPtr Obtém um ponteiro para um elemento de um DSA.
DSA_GetSize Obtém o tamanho do DSA.
DSA_InsertItem Insere um novo item em um DSA. Se necessário, o DSA se expande para acomodar o novo item.
DSA_SetItem Define o conteúdo de um elemento em um DSA.
DSA_Sort Classifica os itens em um DSA.
ExtTextOutWrap Desenha o texto usando a fonte, a cor do plano de fundo e a cor do texto selecionadas no momento. Opcionalmente, você pode fornecer dimensões a serem usadas para recorte, opacidade ou ambos. Essa função encapsula uma chamada para ExtTextOut.
GetEffectiveClientRect Calcula as dimensões de um retângulo na área do cliente que contém todos os controles especificados.
GetMUILanguage Obtém o idioma atualmente em uso pelos controles comuns para um processo específico.
GetTextExtentPoint32Wrap Calcula a largura e a altura da cadeia de caracteres de texto especificada. Essa função encapsula uma chamada para GetTextExtentPoint.
InitCommonControls Registra e inicializa determinadas classes de janela de controle comuns. Essa função está obsoleta. Novos aplicativos devem usar a função InitCommonControlsEx.
InitCommonControlsEx Registra classes de controle comuns específicas da DLL de controle comum.
InitMUILanguage Permite que um aplicativo especifique um idioma a ser usado com os controles comuns que é diferente do idioma do sistema.
LoadIconMetric Carrega um recurso de ícone especificado com uma métrica de sistema especificada pelo cliente.
LoadIconWithScaleDown Carrega um ícone. Se o ícone não for um tamanho padrão, essa função reduzirá a escala de uma imagem maior em vez de aumentar a escala de uma imagem menor.
Ícone do Mirror Inverte (espelha) ícones para que eles sejam exibidos corretamente em um contexto de dispositivo espelhado.
PFNDACOMPARE Define o protótipo para a função de comparação usada por DSA_Sort.
PFNDACOMPARECONST Define o protótipo da função de comparação usada por DSA_Sort quando os itens que estão sendo comparados são objetos constantes.
PFNDAENUMCALLBACK Define o protótipo para a função de retorno de chamada usada pelas funções DSA e DPA.
PFNDAENUMCALLBACKCONST Define o protótipo para a função de retorno de chamada usada pelas funções DSA e DPA quando os itens envolvidos são ponteiros para dados constantes.
PFNDPACOMPARE Define o protótipo para a função de comparação usada por DPA_Sort e DPA_Search.
PFNDPACOMPARECONST Define o protótipo da função de comparação usada por DPA_Sort ou DPA_Search quando os itens que estão sendo comparados são objetos constantes.
PFNDPAENUMCALLBACK Define o protótipo para a função de retorno de chamada usada por DPA_EnumCallback.
PFNDPAMERGE Define o protótipo da função de mesclagem usada por DPA_Merge.
PFNDPAMERGECONST Define o protótipo para a função de mesclagem usada por DPA_Merge, usando valores constantes.
PFNDPASTREAM Define o protótipo para a função de retorno de chamada usada por DPA_LoadStream e DPA_SaveStream.
PFNDSAENUMCALLBACK Define o protótipo para a função de retorno de chamada usada por DSA_DestroyCallback.
ReaderScroll Uma função de retorno de chamada definida pelo aplicativo usada quando o ponteiro do mouse é movido dentro da parte da janela do modo leitor que foi declarada como a área de rolagem ativa.
ShowHideMenuCtl Define ou remove o atributo de marca de seleção do item de menu especificado e mostra ou oculta o controle correspondente. A função adiciona uma marca de seleção ao item de menu especificado se ele não tiver um e, em seguida, exibe o controle correspondente. Se o item de menu já tiver uma marca de seleção, a função removerá a marca de seleção e ocultará o controle correspondente.
Str_GetPtr Copia uma cadeia de caracteres de um buffer para outro.
Str_SetPtrW Define ppszCurrent como uma cópia de pszNew e libera o valor anterior, se necessário.
TraduzirDespacho Usado pelo cliente da função DoReaderMode para interceptar e manipular explicitamente quaisquer mensagens do Windows direcionadas para a área de rolagem da janela do modo leitor. Esta é uma função de retorno de chamada definida pelo aplicativo.

Macros

Tópico Contents
DPA_AppendPtr Insere um novo item no final de um DPA.
DPA_FastDeleteLastPtr Exclui o último ponteiro de um DPA.
DPA_FastGetPtr Obtém o valor do ponteiro especificado no DPA.
DPA_GetPtrCount Obtém o número de ponteiros em um DPA.
DPA_GetPtrPtr Obtém o ponteiro para a matriz de ponteiro interna de um DPA.
DPA_SetPtrCount Define o número de ponteiros em um DPA.
DPA_SortedInsertPtr Insere um novo item antes ou depois de um item existente especificado.
DSA_AppendItem Acrescenta um novo item ao final de um DSA.
DSA_GetItemCount Obtém o número de itens em um DSA.
FORWARD_WM_NOTIFY Envia ou publica a mensagem WM_NOTIFY.
HANDLE_WM_NOTIFY Chama uma função que processa a mensagem WM_NOTIFY.
INDEXTOSTATEIMAGEMASK Prepara o índice de uma imagem de estado para que um controle de exibição em árvore ou controle de exibição de lista possa usar o índice para recuperar a imagem de estado de um item.

Mensagens

Tópico Contents
CCM_DPISCALE Permite o dimensionamento automático de pontos altos por polegada (dpi) em controles Tree-View, controles List-View, controles ComboBoxEx, controles Header, Botões, controles Toolbar, controles Animation e Image Lists.
CCM_GETUNICODEFORMAT Obtém o sinalizador de formato de caractere Unicode para o controle.
CCM_GETVERSION Obtém o número de versão de um controle definido pela mensagem CCM_SETVERSION mais recente.
CCM_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.
CCM_SETVERSION Essa mensagem é usada para informar ao controle que você está esperando um comportamento associado a uma versão específica.
CCM_SETWINDOWTHEME Define o estilo visual de um controle.
WM_NOTIFY Enviado por um controle comum para sua janela pai quando um evento ocorreu ou o controle requer algumas informações.
WM_NOTIFYFORMAT Determina se uma janela aceita estruturas ANSI ou Unicode na mensagem de notificação WM_NOTIFY. WM_NOTIFYFORMAT mensagens são enviadas de um controle comum para sua janela pai e da janela pai para o controle comum.

Notifications

Tópico Contents
NM_CHAR O código de notificação NM_CHAR é enviado por um controle quando uma chave de caractere é processada. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_CUSTOMDRAW Notifica a janela pai de um controle sobre operações de desenho personalizadas. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_CUSTOMTEXT Notifica a janela pai de um controle sobre operações de texto personalizadas. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_FONTCHANGED Enviado por um controle list-view quando o controle alterou uma fonte. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_GETCUSTOMSPLITRECT Enviado por um controle de botão para seu pai para obter medidas para os dois retângulos que compõem o botão de divisão. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_HOVER Enviado por um controle quando o mouse passa o mouse sobre um item. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_KEYDOWN Enviado por um controle quando o controle tem o foco do teclado e o usuário pressiona uma tecla. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_KILLFOCUS Notifica a janela pai de um controle de que o controle perdeu o foco de entrada. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_LDOWN Notifica a janela pai de um controle de que o botão esquerdo do mouse foi pressionado. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_NCHITTEST Enviado por um controle de vergalhão quando o controle recebe uma mensagem WM_NCHITTEST. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_OUTOFMEMORY Notifica a janela pai de um controle que o controle não pôde concluir uma operação porque não havia memória suficiente disponível. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_RDOWN Não há suporte no momento.
NM_RELEASEDCAPTURE Notifica a janela pai de um controle que o controle está liberando a captura do mouse. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_RETURN Notifica a janela pai de um controle que o controle tem o foco de entrada e que o usuário pressionou a tecla ENTER. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_SETCURSOR Notifica a janela pai de um controle que o controle está definindo o cursor em resposta a uma mensagem NM_SETCURSOR . Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_SETFOCUS Notifica a janela pai de um controle de que o controle recebeu o foco de entrada. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_THEMECHANGED Notifica a janela pai de um controle de que o tema foi alterado. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_TOOLTIPSCREATED Notifica a janela pai de um controle que o controle criou um controle de dica de ferramenta. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.
NM_TVSTATEIMAGECHANGING Enviado por um controle de exibição em árvore para sua janela pai que a imagem de estado está mudando. Esse código de notificação é enviado na forma de uma mensagem de WM_NOTIFY.

Estruturas

Tópico Contents
ESQUEMA DE CORES Contém informações para o desenho de botões em uma barra de ferramentas ou vergalhão.
DPASTREAMINFO Contém um item de fluxo usado pela função de retorno de chamada PFNDPASTREAM.
INITCOMMONCONTROLSEX Carrega informações usadas para carregar classes de controle comuns da biblioteca de vínculo dinâmico (DLL). Essa estrutura é usada com a função InitCommonControlsEx.
NMCHAR Contém informações usadas com mensagens de notificação de caracteres.
NMCUSTOMSPLITRECTINFO Contém informações sobre os dois retângulos de um botão de divisão. Enviado com a notificação NM_GETCUSTOMSPLITRECT.
NMCUSTOMTEXT Contém informações usadas com notificação de texto personalizada.
NMHDR Contém informações sobre uma mensagem de notificação.
CHAVE Contém informações usadas com mensagens de notificação de chave.
CAMUNDONGO Contém informações usadas com mensagens de notificação do mouse.
NMOBJECTNOTIFY Contém informações usadas com os códigos de notificação TBN_GETOBJECT, TCN_GETOBJECT e PSN_GETOBJECT.
NMTOOLTIPSCREATED Contém informações usadas com NM_TOOLTIPSCREATED código de notificação.
READERMODEINFO Contém informações necessárias para inicializar a função DoReaderMode.

Constantes

Tópico Contents
Constantes CDRF Essas constantes são usadas como valores de retorno por um controle em resposta a um código de notificação NM_CUSTOMDRAW .
Estilos Esta seção lista estilos de controle comuns. Exceto onde indicado, esses estilos se aplicam a controles de cabeçalho, controles de barra de ferramentas e janelas de status.
Classes de janela Esta seção lista os nomes de classe de janela fornecidos pela biblioteca de controle comum.