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


Интерфейс ICommandSource

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

Синтаксис

interface class ICommandSource

Участники

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

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

Замечания

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

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

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

Требования

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

ICommandSource::AddCommandHandler

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

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

Параметры

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

Замечания

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

ICommandSource::AddCommandRangeHandler

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

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

Параметры

cmdIDMin
Начальный индекс диапазона идентификаторов команды. cmdIDMax
Конечный индекс диапазона идентификаторов команды. cmdHandler
Дескриптор метода обработчика сообщений, с которым сопоставляются команды.

Замечания

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

ICommandSource::AddCommandRangeUIHandler

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

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

Параметры

cmdIDMin
Начальный индекс диапазона идентификаторов команды. cmdIDMax
Конечный индекс диапазона идентификаторов команды. cmdHandler
Дескриптор метода обработчика сообщений, с которым сопоставляются команды.

Замечания

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

ICommandSource::AddCommandUIHandler

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

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

Параметры

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

Замечания

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

ICommandSource::P ostCommand

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

void PostCommand(unsigned int command);

Параметры

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

Замечания

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

ICommandSource::RemoveCommandHandler

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

void RemoveCommandHandler(unsigned int cmdID);

Параметры

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

Замечания

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

ICommandSource::RemoveCommandRangeHandler

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

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

Параметры

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

Замечания

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

ICommandSource::RemoveCommandRangeUIHandler

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

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

Параметры

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

Замечания

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

ICommandSource::RemoveCommandUIHandler

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

void RemoveCommandUIHandler(unsigned int cmdID);

Параметры

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

Замечания

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

ICommandSource::SendCommand

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

void SendCommand(unsigned int command);

Параметры

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

Замечания

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

См. также

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