MFC SDI Текстовый редактор

Я создаю приложение в стиле проводника MFC SDI (в нем есть разделительная панель, правая панель - область редактирования текста, левая панель - древовидная)

Моя правая панель - это CRichEditView.

Я хочу быть в состоянии определить, когда пользователь отредактировал текст так, чтобы был установлен флаг, показывающий, что изменение было сделано, но не было сохранено. Я пробовал несколько способов сделать это, например, перехват WM_KEYDOWN в PreTranslateMessage, но это ловит все и мешает нажатию клавиш редактировать представление. Я также попытался добавить ON_WM_KEYDOWN() к карте сообщений в MyView.cpp. Опять же, это, кажется, предотвращает какое-либо влияние клавиш на текст в представлении. Я хочу позволить пользователю редактировать текст в представлении, но приложение должно знать, что это было сделано.

Пожалуйста, помогите - я часами искал способы сделать это.

Большое спасибо

1 ответ

Добавление ON_WM_KEYDOWN() к карте сообщений, вероятно, является правильным подходом. Вы должны убедиться, что ваша реализация метода OnKeyDown() вызывает метод базового класса, чтобы сообщение передавалось соответствующим образом.

Другие вопросы по тегам