Como faço para reservar a posição do cursor no controle CEdit?
-
01-07-2019 - |
Pergunta
Eu estou programando um aplicativo em MFC (não pergunte) e eu tenho uma caixa de CEdit que contém um número. Quando esse número é editado, eu gostaria de agir sobre a mudança, e depois substituir o acento circunflexo onde estava antes eu agi sobre a mudança - "" se o usuário foi pouco antes da em "35.40", eu gostaria que ele ainda ser colocado antes do ponto se eles alterá-lo para "345,40". Atualmente estou pegando a mensagem de mudança, mas que pode ser mudado para outra coisa (ATUALIZAÇÃO?). Como posso fazer isso?
Solução
Use o GetSel () antes de sua mudança para armazenar a localização do cursor, em seguida, usar SelSel () para configurá-lo de volta. Você pode usar essas funções para obter / definir a localização do acento circunflexo, não apenas para obter / definir a seleção do usuário fez.
Outras dicas
Você poderia explicar a razão pela qual você gostaria de alterar o comportamento da caixa de CEdit? Como usuário eu teria um problema com o acento circunflexo a ser trocado a cada vez que entro algum personagem. Ou é o que você gostaria de evitar se você alterar esse valor programaticamente?