Domanda

Sto programmando un'applicazione in MFC (non chiedere) e ho una casella CEdit che contiene un numero.Quando quel numero viene modificato, vorrei agire sulla modifica e quindi sostituire il consumo dove era prima di agire sulla modifica - se l'utente fosse appena prima del "". In "35.40", vorrei che fosse ancora posizionato prima del punto se lo cambiassero in "345.40".Attualmente sto rilevando il messaggio CHANGE, ma può essere commutato in qualcos'altro (AGGIORNAMENTO?).Come posso realizzare questo?

È stato utile?

Soluzione

Utilizza la funzione GetSel() prima della modifica per memorizzare la posizione del cursore, quindi utilizza SelSel() per reimpostarla.È possibile utilizzare queste funzioni per ottenere/impostare la posizione del cursore, non solo per ottenere/impostare la selezione effettuata dall'utente.

Altri suggerimenti

Potresti spiegare il motivo per cui vorresti cambiare il comportamento della casella CEdit?Come utente avrei un problema con il cambiamento dell'accento circonflesso ogni volta che inserisco un carattere.Oppure è ciò che vorresti impedire se modifichi quel valore a livello di codice?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top