Рисунок маршрутизации команд

Замечание

Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.

Чтобы проиллюстрировать, рассмотрите командное сообщение из пункта меню "Очистить все" в меню "Изменить" приложения MDI. Предположим, что функция обработчика для этой команды является функцией-членом класса документов приложения. Вот как эта команда достигает обработчика после того, как пользователь выбирает пункт меню:

  1. В главном окне кадра сначала появляется сообщение команды.

  2. Основное окно фрейма MDI дает активному дочернему окну MDI возможность обрабатывать команду.

  3. Стандартная маршрутизация дочернего окна фрейма MDI дает представлению возможность обработать команду прежде чем обратиться к собственной карте сообщений.

  4. Представление сначала проверяет собственную карту сообщений, а если обработчик не найден, направляет команду в связанный документ.

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

Если в документе нет обработчика, он перенаправит команду в шаблон документа. Затем команда вернется в представление, а затем окно фрейма. Наконец, окно рамки будет проверять свою карту сообщений. Если эта проверка завершилась ошибкой, команда будет перенаправлена обратно в главное окно фреймов MDI, а затем в объект приложения — конечное назначение необработанных команд.

См. также

Как фреймворк вызывает обработчик