Editar Estilos de Controle

Para criar um controle de edição usando a função CreateWindow ou CreateWindowEx , especifique a classe EDIT, as constantes de estilo de janela apropriadas e uma combinação dos estilos de controle de edição a seguir. Depois que o controle tiver sido criado, esses estilos não poderão ser modificados, exceto conforme observado.

Exemplo

LRESULT MsgCreate(HWND hwnd, UINT uMessage, WPARAM wparam, LPARAM lparam)
{
    lparam;
    wparam;
    uMessage;

    // Create Edit control for typing to be sent to server
    if (NULL == (hOutWnd = CreateWindow("EDIT",
                           NULL,
                           WS_BORDER | WS_CHILD | WS_VISIBLE | WS_VSCROLL | ES_LEFT | 
                           ES_MULTILINE | ES_AUTOVSCROLL,
                           0,0,0,0,
                           hwnd,
                           (HMENU) ID_OUTBOX,
                           (HINSTANCE) GetWindowLongPtr(hwnd, GWLP_HINSTANCE),
                           NULL)))
        return FALSE;
    return TRUE;
}

Exemplo das Amostras do Windows Classic no GitHub.

Constantes

Constante Descrição
ES_AUTOHSCROLL
Rola automaticamente o texto para a direita em até 10 caracteres quando o usuário digita um caractere no fim da linha. Quando o usuário pressiona a tecla ENTER, o controle rola todo o texto de volta para a posição zero.
ES_AUTOVSCROLL
Rola automaticamente o texto para cima em uma página quando o usuário pressiona a tecla ENTER na última linha.
ES_CENTER
Centraliza o texto em um controle de edição de linha única ou de várias linhas.
ES_LEFT
Alinha o texto com a margem esquerda.
ES_LOWERCASE
Converte todos os caracteres em minúsculas à medida que são digitados no controle de edição.
Para alterar esse estilo depois que o controle tiver sido criado, use SetWindowLong.
ES_MULTILINE
Designa um controle de edição de várias linhas. O padrão é o controle de edição de linha única.
Quando o controle de edição de várias linhas está em uma caixa de diálogo, a resposta padrão para pressionar a tecla ENTER é ativar o botão padrão. Para usar a tecla ENTER como retorno de carro, use o estilo ES_WANTRETURN .
Quando o controle de edição de várias linhas não está em uma caixa de diálogo e o estilo ES_AUTOVSCROLL é especificado, o controle de edição mostra o máximo de linhas possível e rola verticalmente quando o usuário pressiona a tecla ENTER. Se você não especificar ES_AUTOVSCROLL, o controle de edição mostrará o máximo possível de linhas e bipe se o usuário pressionar a tecla ENTER quando não for possível exibir mais linhas.
Se você especificar o estilo ES_AUTOHSCROLL , o controle de edição de várias linhas rolará automaticamente horizontalmente quando o cursor passar pela borda direita do controle. Para iniciar uma nova linha, o usuário deve pressionar a tecla ENTER. Se você não especificar ES_AUTOHSCROLL, o controle encapsulará automaticamente as palavras no início da próxima linha, quando necessário. Uma nova linha também será iniciada se o usuário pressionar a tecla ENTER. O tamanho da janela determina a posição do Wordwrap. Se o tamanho da janela for alterado, a posição wordwrapping será alterada e o texto será exibido novamente.
Controles de edição de várias linhas podem ter barras de rolagem. Um controle de edição com barras de rolagem processa suas próprias mensagens de barra de rolagem. Observe que os controles de edição sem barras de rolagem rolam conforme descrito nos parágrafos anteriores e processam as mensagens de rolagem enviadas pela janela pai.
ES_NOHIDESEL
Nega o comportamento padrão de um controle de edição. O comportamento padrão oculta a seleção quando o controle perde o foco de entrada e inverte a seleção quando o controle recebe o foco de entrada. Se você especificar ES_NOHIDESEL, o texto selecionado será invertido, mesmo que o controle não tenha o foco.
ES_NUMBER
Permite que apenas dígitos sejam inseridos no controle de edição. Observe que, mesmo com esse conjunto, ainda é possível colar não dígitos no controle de edição.
Para alterar esse estilo depois que o controle tiver sido criado, use SetWindowLong.
Para traduzir o texto inserido no controle de edição para um valor inteiro, use a função GetDlgItemInt . Para definir o texto do controle de edição para a representação de cadeia de caracteres de um inteiro especificado, use a função SetDlgItemInt .
ES_OEMCONVERT
Converte o texto inserido no controle de edição. O texto é convertido do conjunto de caracteres do Windows para o conjunto de caracteres OEM e, em seguida, de volta para o conjunto de caracteres do Windows. Isso garante a conversão de caracteres adequada quando o aplicativo chama a função CharToOem para converter uma cadeia de caracteres do Windows no controle de edição em caracteres OEM. Esse estilo é mais útil para controles de edição que contêm nomes de arquivo que serão usados em sistemas de arquivos que não dão suporte a Unicode.
Para alterar esse estilo depois que o controle tiver sido criado, use SetWindowLong.
ES_PASSWORD
Exibe um asterisco (*) para cada caractere digitado no controle de edição. Esse estilo é válido somente para controles de edição de linha única.
Para alterar os caracteres exibidos ou definir ou desmarcar esse estilo, use a mensagem EM_SETPASSWORDCHAR .
Nota: Para usar Comctl32.dll versão 6, especifique-a em um manifesto. Para obter mais informações sobre manifestos, consulte Habilitando estilos visuais.
ES_READONLY
Impede que o usuário digite ou edite texto no controle de edição.
Para alterar esse estilo depois que o controle tiver sido criado, use a mensagem EM_SETREADONLY .
ES_RIGHT
Alinha à direita o texto em um controle de edição de linha única ou de várias linhas.
ES_UPPERCASE
Converte todos os caracteres em maiúsculas à medida que são digitados no controle de edição.
Para alterar esse estilo depois que o controle tiver sido criado, use SetWindowLong.
ES_WANTRETURN
Especifica que um retorno de carro seja inserido quando o usuário pressiona a tecla ENTER ao inserir texto em um controle de edição de várias linhas em uma caixa de diálogo. Se você não especificar esse estilo, pressionar a tecla ENTER terá o mesmo efeito que pressionar o botão de push padrão da caixa de diálogo. Esse estilo não tem efeito em um controle de edição de linha única.
Para alterar esse estilo depois que o controle tiver sido criado, use SetWindowLong.

Requisitos

Requisito Valor
parâmetro
Winuser.h