Limita texto User-Entered

O limite padrão para a quantidade de texto que um usuário pode inserir em um controle editar é 32 kilobytes. Um aplicativo pode alterar a quantidade de texto que o usuário pode inserir enviando o controle uma mensagem EM_SETLIMITTEXT . Esta mensagem define um limite rígido para o número de bytes que o usuário pode enter em um Controlarar de editar, mas afeta texto já existente no Controlarar quando a mensagem foi enviada, nem texto copiado para o controle pela SetDlgItemText função ou a mensagem WM_SETTEXT . Por exemplo, suponha que o aplicativo usa a SetDlgItemText função para colocar 500 bytes em um controle editar, e o usuário insere também 500 bytes (total de 1000 bytes). Se o aplicativo, em seguida, envia uma mensagem EM_SETLIMITTEXT que limita texto user-entered para 300 bytes, as 1000 bytes já no Controlarar de editar permanecem lá, e o usuário não é possível adicionar qualquer mais texto. Por outro lado, se o aplicativo envia uma mensagem EM_SETLIMITTEXT que limita texto user-entered para 1300 bytes, manter-se a 1000 bytes, mas o usuário pode adicionar mais 300 bytes.

Quando o usuário atinge o limite de caracteres de um controle editar, o sistema envia uma mensagem WM_COMMAND que contém uma mensagem de notificação EN_MAXTEXT o aplicativo. Essa mensagem de notificação não significa que a memória tenha sido esgotada, mas que tenha sido atingido o limite de texto user-entered; o usuário não é possível inserir qualquer mais texto. Para alterar esse limite, um aplicativo deve enviar o controle uma mensagem EM_SETLIMITTEXT nova com um limite superior.

Como um exemplo do uso de EM_SETLIMITTEXT e EN_MAXTEXT, suponha que o aplicativo deve limitar o usuário a não mais que quatro caracteres em um controle editar. O aplicativo poderia usar EM_SETLIMITTEXT para especificar um limite de quatro caracteres. Se o usuário tentasse entrar um quinto caractere, o sistema seria enviar uma mensagem de notificação EN_MAXTEXT para o aplicativo.

Index