Переопределение методов OnKeyDown и OnKeyUp класса CEdit
От: RussianFellow Россия http://russianfellow.livejournal.com
Дата: 19.07.16 11:35
Оценка:
Есть компонент IDC_EDIT1 и соответствующая ему переменная m_IDC_EDIT1 . В нём находится текст, состоящий из символа точки--то есть '.' .

Я хочу создать класс CMyEdit, производный от класса CEdit, в котором был бы переопределён метод OnKeyDown и/или OnKeyUp. Переменная m_IDC_EDIT1 будет относиться к типу CMyEdit .
В этой функции должно быть следующее:
1) перед точкой вводятся две цифры;
2) если была введена вторая цифра, то курсор перемещается не на позицию точки, а на позицию после неё;
3) если была нажата кнопка "стрелка вправо" на цифре перед точкой, то курсор перемещается на позицию после точки;
4) если была нажата кнопка "стрелка влево" на цифре после точки, то курсор перемещается на цифру перед точкой;
5) если была нажата клавиша "забой" на цифре после точки, то происходит перемещение курсора на позицию перед точкой, точка остаётся (не убирается), а убирается цифра перед точкой;
6) должны работать комбинации клавиш Shift-"стрелка вправо", Shift-"стрелка влево", Shift-пробел для выделения информации в IDC_EDIT1 (здесь символ точки выступает как обычный символ).

То есть должна быть обеспечена работа для ввода вещественного числа в обычной (не экспоненциальной) форме, у которого перед точкой было бы две цифры и при котором кнопки "стрелка вправо", "стрелка влево", "забой" не затрагивали бы эту точку.

Как это лучше сделать? Какую функцию лучше переопределять--OnKeyDown или OnKeyUp ?
1613 г. = 2024 г.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.