Partilhar via


Como formatar texto em controles Rich Edit

Um aplicativo pode enviar mensagens para um controle de edição avançado para formatar caracteres e parágrafos e recuperar informações de formatação. Os atributos de formatação de parágrafo incluem alinhamento, tabulações, recuos, numeração e tabelas simples. Para caracteres, você pode especificar o nome da fonte, tamanho, cor e efeitos como negrito, itálico e protegido.

O que precisa de saber

Tecnologias

Pré-requisitos

  • C/C++
  • Programação da interface do usuário do Windows

Instruções

Formatar texto em um controle de edição avançado

Você pode aplicar a formatação de parágrafo usando a mensagem EM_SETPARAFORMAT. Para determinar a formatação de parágrafo atual para o texto selecionado, use a mensagem EM_GETPARAFORMAT. As estruturas PARAFORMAT ou PARAFORMAT2 são usadas com ambas as mensagens para especificar atributos de formatação de parágrafo.

Você pode aplicar a formatação de caracteres usando a mensagem EM_SETCHARFORMAT. Para determinar a formatação de caractere atual para o texto selecionado, você pode usar a mensagem EM_GETCHARFORMAT. A estrutura CHARFORMAT ou CHARFORMAT2 é usada com ambas as mensagens para especificar atributos de caractere.

Você também pode usar mensagens EM_SETCHARFORMAT e EM_GETCHARFORMAT para definir e recuperar a formatação de caracteres do ponto de inserção, que é a formatação aplicada a quaisquer caracteres inseridos posteriormente. Por exemplo, se um aplicativo define a formatação de caractere padrão como negrito e o usuário digita um caractere, esse caractere fica em negrito.

A formatação de caracteres do ponto de inserção é aplicada ao texto recém-inserido somente se a seleção atual estiver vazia (se a seleção atual for um ponto de inserção). Caso contrário, o novo texto assume a formatação de caracteres do texto que substitui. Se a seleção for alterada, a formatação do caractere padrão será alterada para corresponder ao primeiro caractere da nova seleção.

O efeito de caractere protegido é único na medida em que não altera a aparência do texto. Se o usuário tentar modificar o texto protegido, um controle de edição avançada enviará à janela pai um código de notificação EN_PROTECTED, permitindo que a janela pai permita ou impeça a alteração. Para receber esse código de notificação, você deve habilitá-lo usando a mensagem EM_SETEVENTMASK.

A cor de primeiro plano é sempre um atributo de caractere. No Microsoft Rich Edit 1.0, a cor de plano de fundo é apenas uma propriedade do controle de edição avançada. Para definir a cor de fundo predefinida, utilize a mensagem EM_SETBKGNDCOLOR. Observe que Rich Edit não suporta a mensagem WM_CTLCOLOREDIT.

Usando controles de edição avançados

Demonstração de Controles Comuns do Windows (CppWindowsCommonControls)