Как зарезервировать позицию курсора в элементе управления CEdit?

StackOverflow https://stackoverflow.com/questions/92671

  •  01-07-2019
  •  | 
  •  

Вопрос

Я программирую приложение в MFC (не спрашивайте), и у меня есть поле CEdit, в котором хранится номер.Когда это число отредактируется, я хотел бы действовать в соответствии с изменениями, а затем заменить камеру, где он был до того, как я действовал на изменении - если пользователь был перед «». В «35,40» я хотел бы, чтобы это все еще было размещено перед точкой, если они изменят ее на «345,40».В настоящее время я ловлю сообщение CHANGE, но его можно переключить на что-то другое (ОБНОВЛЕНИЕ?).Как я могу это сделать?

Это было полезно?

Решение

Используйте функцию GetSel() перед изменением, чтобы сохранить местоположение курсора, затем используйте SelSel(), чтобы вернуть его обратно.Вы можете использовать эти функции для получения/установки местоположения курсора, а не только для получения/установки выбора, сделанного пользователем.

Другие советы

Не могли бы вы объяснить причину, по которой вы хотите изменить поведение окна CEdit?Как пользователь, у меня возникла бы проблема с изменением курсора каждый раз, когда я ввожу какой-либо символ.Или вы хотели бы предотвратить это, если измените это значение программно?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top