Интерфейс ICommandSource

Замечание

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

Управляет командами, отправленными из исходного объекта команды в элемент управления пользователем.

Syntax

interface class ICommandSource

Members

Открытые методы

Name Description
ICommandSource::AddCommandHandler Добавляет обработчик команд в исходный объект команды.
ICommandSource::AddCommandRangeHandler Добавляет группу обработчиков команд в исходный объект команды.
ICommandSource::AddCommandRangeUIHandler Добавляет группу обработчиков команд пользовательского интерфейса в объект источника команд.
ICommandSource::AddCommandUIHandler Добавляет обработчик командного сообщения пользовательского интерфейса в объект источника команды.
ICommandSource::PostCommand Публикует сообщение, не ожидая обработки сообщения.
ICommandSource::RemoveCommandHandler Удаляет обработчик команд из исходного объекта команды.
ICommandSource::RemoveCommandRangeHandler Удаляет группу обработчиков команд из исходного объекта команды.
ICommandSource::RemoveCommandRangeUIHandler Удаляет группу обработчиков сообщений командной строки пользовательского интерфейса из исходного объекта команды.
ICommandSource::RemoveCommandUIHandler Удаляет обработчик командного сообщения пользовательского интерфейса из исходного объекта команды.
ICommandSource::SendCommand Отправляет сообщение и ожидает его обработки перед возвратом.

Remarks

При размещении пользовательского элемента управления в представлении MFC класс CWinFormsView направляет команды и обновляет сообщения пользовательского интерфейса команды в пользовательский элемент управления, чтобы разрешить ему обрабатывать команды MFC (например, элементы меню кадров и кнопки панели инструментов). Реализуя интерфейс ICommandTarget, вы предоставляете пользователю ссылку на ICommandSource объект.

См . инструкции. Добавление маршрутизации команд в элемент управления Windows Forms для примера использования ICommandTarget.

Дополнительные сведения об использовании Windows Forms см. в разделе "Использование пользовательского элемента управления Windows Form" в MFC.

Requirements

Заголовок: afxwinforms.h (определен в сборке atlmfc\lib\mfcmifc80.dll)

ICommandSource::AddCommandHandler

Добавляет обработчик команд в исходный объект команды.

void AddCommandHandler(
    unsigned int cmdID,
    CommandHandler^ cmdHandler);

Parameters

cmdID
Идентификатор команды.

cmdHandler
Дескриптор метода обработчика команд.

Remarks

Этот метод добавляет обработчик команд cmdHandler в исходный объект команды и сопоставляет обработчик с cmdID. См . инструкции. Добавление маршрутизации команд в элемент управления Windows Forms для примера использования AddCommandHandler.

ICommandSource::AddCommandRangeHandler

Добавляет группу обработчиков команд в исходный объект команды.

void AddCommandRangeHandler(
    unsigned int cmdIDMin,
    unsigned int cmdIDMax,
    CommandHandler^ cmdHandler);

Parameters

cmdIDMin
Начальный индекс диапазона идентификаторов команды.

cmdIDMax
Конечный индекс диапазона идентификаторов команды.

cmdHandler
Дескриптор метода обработчика сообщений, с которым сопоставляются команды.

Remarks

Этот метод сопоставляет непрерывный диапазон идентификаторов команд с одним обработчиком сообщений и добавляет его в исходный объект команды. Это используется для обработки группы связанных кнопок с одним методом.

ICommandSource::AddCommandRangeUIHandler

Добавляет группу обработчиков команд пользовательского интерфейса в объект источника команд.

void AddCommandRangeUIHandler(
    unsigned int cmdIDMin,
    unsigned int cmdIDMax,
    CommandUIHandler^ cmdUIHandler);

Parameters

cmdIDMin
Начальный индекс диапазона идентификаторов команды.

cmdIDMax
Конечный индекс диапазона идентификаторов команды.

cmdHandler
Дескриптор метода обработчика сообщений, с которым сопоставляются команды.

Remarks

Этот метод сопоставляет непрерывный диапазон идентификаторов команд с одним обработчиком командного сообщения пользовательского интерфейса и добавляет его в исходный объект команды. Это используется для обработки группы связанных кнопок с одним методом.

ICommandSource::AddCommandUIHandler

Добавляет обработчик командного сообщения пользовательского интерфейса в объект источника команды.

void AddCommandUIHandler(
    unsigned int cmdID,
    CommandUIHandler^ cmdUIHandler);

Parameters

cmdID
Идентификатор команды.

cmdUIHandler
Дескриптор обработчика командного сообщения пользовательского интерфейса.

Remarks

Этот метод добавляет обработчик командного сообщения пользовательского интерфейса cmdHandler в исходный объект команды и сопоставляет обработчик с cmdID.

ICommandSource::PostCommand

Публикует сообщение, не ожидая обработки сообщения.

void PostCommand(unsigned int command);

Parameters

command
Идентификатор команды для публикации сообщения.

Remarks

Этот метод асинхронно публикует сообщение, сопоставленное с идентификатором, указанным командой. Он вызывает CWnd::P ostMessage, чтобы поместить сообщение в очередь сообщений окна, а затем возвращается без ожидания соответствующего окна для обработки сообщения.

ICommandSource::RemoveCommandHandler

Удаляет обработчик команд из исходного объекта команды.

void RemoveCommandHandler(unsigned int cmdID);

Parameters

cmdID
Идентификатор команды.

Remarks

Этот метод удаляет обработчик команд, сопоставленный с cmdID, из исходного объекта команды.

ICommandSource::RemoveCommandRangeHandler

Удаляет группу обработчиков команд из исходного объекта команды.

void RemoveCommandRangeUIHandler(
    unsigned int cmdIDMin,
    unsigned int cmdIDMax);

Parameters

cmdIDMin
Начальный индекс диапазона идентификаторов команды.

cmdIDMax
Конечный индекс диапазона идентификаторов команды.

Remarks

Этот метод удаляет группу обработчиков сообщений, сопоставленных с идентификаторами команд, указанными cmdIDMin и cmdIDMax, из исходного объекта команды.

ICommandSource::RemoveCommandRangeUIHandler

Удаляет группу обработчиков сообщений командной строки пользовательского интерфейса из исходного объекта команды.

void RemoveCommandRangeUIHandler(
    unsigned int cmdIDMin,
    unsigned int cmdIDMax);

Parameters

cmdIDMin
Начальный индекс диапазона идентификаторов команды.

cmdIDMax
Конечный индекс диапазона идентификаторов команды.

Remarks

Этот метод удаляет группу обработчиков сообщений команд пользовательского интерфейса, сопоставленных с идентификаторами команд, указанными cmdIDMin и cmdIDMax, из исходного объекта команды.

ICommandSource::RemoveCommandUIHandler

Удаляет обработчик командного сообщения пользовательского интерфейса из исходного объекта команды.

void RemoveCommandUIHandler(unsigned int cmdID);

Parameters

cmdID
Идентификатор команды.

Remarks

Этот метод удаляет обработчик командного сообщения пользовательского интерфейса, сопоставленный с cmdID из исходного объекта команды.

ICommandSource::SendCommand

Отправляет сообщение и ожидает его обработки перед возвратом.

void SendCommand(unsigned int command);

Parameters

command
Идентификатор команды отправленного сообщения.

Remarks

Этот метод синхронно отправляет сообщение, сопоставленное с идентификатором, указанным командой. Он вызывает CWnd::SendMessage, чтобы поместить сообщение в очередь сообщений окна и ожидает, пока эта процедура окна не обработала сообщение перед возвратом.

См. также

Практическое руководство. Добавление маршрутизации команд в элемент управления Windows Forms
Интерфейс ICommandTarget