Поделиться через


Интерпретация ввода пользователя через представление

Другие функции-члены дескриптора представления и интерпретируют все входные данные пользователя. Обычно вы определяете функции-члены обработчика сообщений в классе представления для обработки:

  • Сообщения Windows, созданные действиями мыши и клавиатуры.

  • Команды из меню, кнопок панели инструментов и клавиш акселератора.

Эти функции-обработчик сообщения интерпретируют следующие действия как входные данные, выбор или редактирование, включая перемещение данных в буфер обмена и из нее:

  • Перемещение мыши и щелчки, перетаскивание и двойное щелчки

  • Нажатия клавиш

  • Команды меню

Какие дескриптора представления Windows зависят от потребностей вашего приложения.

Разделы обработки сообщений и сопоставления объясняют, как назначать элементы меню и другие объекты пользовательского интерфейса командам и как привязать команды к функциям обработчика. Разделы обработки сообщений и сопоставления также объясняют, как MFC направляет команды и отправляет стандартные сообщения Windows в объекты, содержащие обработчики для них.

Например, приложению может потребоваться реализовать прямое рисование мыши в представлении. В примере Scribble показано, как обрабатывать сообщения WM_LBUTTONDOWN, WM_MOUSEMOVE и WM_LBUTTONUP сообщения соответственно для начала, продолжения и завершения рисования сегмента строки. С другой стороны, иногда может потребоваться интерпретировать щелчк мыши в представлении как выбор. Функция обработчика OnLButtonDown представления определяет, рисует ли пользователь или выбирает его. При выборе обработчик определит, был ли щелчок в пределах некоторого объекта в представлении и, если да, измените отображение, чтобы отобразить объект как выбранный.

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

См. также

Использование представлений