Como formatar texto em controles de edição avançada

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 nome, tamanho, cor e efeitos da fonte, como negrito, itálico e protegido.

O que você precisa saber

Tecnologias

Pré-requisitos

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

Instruções

Formatar texto em um controle Rich Edit

Você pode aplicar 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. A estrutura PARAFORMAT ou PARAFORMAT2 é usada com ambas as mensagens para especificar atributos de formatação de parágrafo.

Você pode aplicar formatação de caractere 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 caracteres.

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

A formatação de caracteres do ponto de inserção será 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 caractere do texto que substitui. Se a seleção for alterada, a formatação de caractere padrão será alterada para corresponder ao primeiro caractere da nova seleção.

O efeito de caractere protegido é único, pois não altera a aparência do texto. Se o usuário tentar modificar o texto protegido, um controle rich edit 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 do plano de fundo é apenas uma propriedade do controle rich edit. Para definir a cor de plano de fundo padrão, use a mensagem EM_SETBKGNDCOLOR. Observe que o Rich Edit não oferece suporte à mensagem WM_CTLCOLOREDIT.

Usando controles de edição avançada

Demonstração de controles comuns do Windows (CppWindowsCommonControls)