Обработчик OnCmdMsg
Для выполнения маршрутизации команд каждый целевой объект команды вызывает OnCmdMsg
функцию-член следующего целевого объекта команды в последовательности. Целевые объекты команд используются OnCmdMsg
для определения того, могут ли они обрабатывать команду и направлять ее в другой целевой объект команды, если они не могут обработать его.
Каждый класс command-target может переопределить функцию-член OnCmdMsg
. Переопределения позволяют каждому команде маршрута класса переходить к конкретному следующему целевому объекту. Например, окно фрейма всегда направляет команды в текущее дочернее окно или представление, как показано в таблице "Стандартный командный маршрут".
Реализация по умолчанию CCmdTarget
OnCmdMsg
использует карту сообщений класса command-target для поиска функции обработчика для каждого получаемого сообщения команды— таким же образом, как и в стандартных сообщениях. Если он находит совпадение, он вызывает обработчик. Поиск по карте сообщений описан в статье "Как Карты сообщения поиска платформы".