Pergunta

Existe alguma maneira de validar o conteúdo de uma caixa de CEdit sem subclassificação?

Eu quero verificar para caracteres de nomes de arquivos inválidos em uma caixa CEdit e não permitir que o usuário insira-lo em tudo (pressão não devem ser registados, se colado na caixa, os caracteres inválidos deve simplesmente não fazê-lo para a caixa de edição ) ..

Existe alguma maneira fácil de fazer isso?

Em uma nota lateral, como posso fazer uma variável que está ligada a esta caixa? Se eu adicionar uma variável que não é um controle, seria esta variável sempre conter o que está no controle de edição?

Obrigado ..

Foi útil?

Solução

Por http://msdn.microsoft.com /en-us/library/f7yhsd2b(VS.80).aspx : "Se você deseja manipular mensagens de notificação do Windows enviadas por um controle de edição a seu pai (geralmente uma classe derivada de CDialog), adicionar uma mensagem- Roteiro de entrada e função de membro mensagem-manipulador para a classe pai para cada mensagem." e "ON_EN_UPDATE O controle de edição está prestes a exibir texto alterado. Enviado após o controle tiver formatado o texto, mas antes de telas de texto para que o tamanho da janela pode ser alterado, se necessário." -. Assim, sem subclassificação CEdit, você pode veterinário e possivelmente bloquear atualizações via Windows mensagem-map / mensagem-manipulador no pai

Outras dicas

Algum tempo há muito tempo eu criei este . Concedido, isso é muito datada, mas idéias ainda mantêm:

text alt

Substituir PreTranslateMessage no seu diálogo. Quando a mensagem é WM_KEYDOWN e definir o foco () retorna o HWND do seu controle de edição, comer a mensagem quando você não faz como a chave.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top