ICommandSource 接口

管理从命令源对象发送到用户控件的命令。

语法

interface class ICommandSource

成员

公共方法

名称 描述
ICommandSource::AddCommandHandler 将命令处理程序添加到命令源对象。
ICommandSource::AddCommandRangeHandler 将一组命令处理程序添加到命令源对象。
ICommandSource::AddCommandRangeUIHandler 将一组用户界面命令消息处理程序添加到命令源对象。
ICommandSource::AddCommandUIHandler 将用户界面命令消息处理程序添加到命令源对象。
ICommandSource::PostCommand 发布消息时不等待处理消息。
ICommandSource::RemoveCommandHandler 从命令源对象中移除命令处理程序。
ICommandSource::RemoveCommandRangeHandler 从命令源对象中移除一组命令处理程序。
ICommandSource::RemoveCommandRangeUIHandler 从命令源对象中移除一组用户界面命令消息处理程序。
ICommandSource::RemoveCommandUIHandler 从命令源对象中移除用户界面命令消息处理程序。
ICommandSource::SendCommand 发送消息并等待进行处理后再返回。

备注

在 MFC 视图中托管用户控件时,CWinFormsView 类将命令和更新命令 UI 消息路由到用户控件,以允许它处理 MFC 命令(例如,帧菜单项和工具栏按钮)。 通过实现 ICommandTarget 接口,可以为用户控件提供对 ICommandSource 对象的引用。

有关如何使用 ICommandTarget 的示例,请参阅如何:将命令路由添加到 Windows 窗体控件

有关使用 Windows 窗体的详细信息,请参阅在 MFC 中使用 Windows 窗体用户控件

要求

标头:afxwinforms.h(在程序集 atlmfc\lib\mfcmifc80.dll 中定义)

ICommandSource::AddCommandHandler

将命令处理程序添加到命令源对象。

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

参数

cmdID
命令 ID。cmdHandler
命令处理程序方法的句柄。

备注

此方法将命令处理程序 cmdHandler 添加到命令源对象,并将处理程序映射到 cmdID。 有关如何使用 AddCommandHandler 的示例,请参阅如何:将命令路由添加到 Windows 窗体控件

ICommandSource::AddCommandRangeHandler

将一组命令处理程序添加到命令源对象。

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

参数

cmdIDMin
命令 ID 范围的起始索引。 cmdIDMax
命令 ID 范围的结束索引。 cmdHandler
命令映射到的消息处理程序方法的句柄。

注解

此方法将连续的命令 ID 范围映射到单个消息处理程序,并将其添加到命令源对象。 这用于通过一个方法处理一组相关按钮。

ICommandSource::AddCommandRangeUIHandler

将一组用户界面命令消息处理程序添加到命令源对象。

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

参数

cmdIDMin
命令 ID 范围的起始索引。 cmdIDMax
命令 ID 范围的结束索引。 cmdHandler
命令映射到的消息处理程序方法的句柄。

备注

此方法将连续的命令 ID 范围映射到单个用户界面命令消息处理程序,并将其添加到命令源对象。 这用于通过一个方法处理一组相关按钮。

ICommandSource::AddCommandUIHandler

将用户界面命令消息处理程序添加到命令源对象。

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

参数

cmdID
命令 ID。cmdUIHandler
用户界面命令消息处理程序方法的句柄。

备注

此方法将用户界面命令消息处理程序 cmdHandler 添加到命令源对象,并将处理程序映射到 cmdID。

ICommandSource::PostCommand

发布消息时不等待处理消息。

void PostCommand(unsigned int command);

参数

命令
要发布的消息的命令 ID。

注解

此方法以异步方式发布映射到命令指定的 ID 的消息。 它调用 CWnd::PostMessage 将消息置于窗口的消息队列中,然后返回时不等待相应的窗口处理消息。

ICommandSource::RemoveCommandHandler

从命令源对象中移除命令处理程序。

void RemoveCommandHandler(unsigned int cmdID);

参数

cmdID
命令 ID。

备注

此方法从命令源对象中移除映射到 cmdID 的命令处理程序。

ICommandSource::RemoveCommandRangeHandler

从命令源对象中移除一组命令处理程序。

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

参数

cmdIDMin
命令 ID 范围的起始索引。 cmdIDMax
命令 ID 范围的结束索引。

备注

此方法从命令源对象中移除一组消息处理程序,这些处理程序映射到 cmdIDMin 和 cmdIDMax 指定的命令 ID。

ICommandSource::RemoveCommandRangeUIHandler

从命令源对象中移除一组用户界面命令消息处理程序。

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

参数

cmdIDMin
命令 ID 范围的起始索引。 cmdIDMax
命令 ID 范围的结束索引。

备注

此方法从命令源对象中移除一组用户界面命令消息处理程序,这些处理程序映射到 cmdIDMin 和 cmdIDMax 指定的命令 ID。

ICommandSource::RemoveCommandUIHandler

从命令源对象中移除用户界面命令消息处理程序。

void RemoveCommandUIHandler(unsigned int cmdID);

参数

cmdID
命令 ID。

备注

此方法从命令源对象中移除映射到 cmdID 的用户界面命令消息处理程序。

ICommandSource::SendCommand

发送消息并等待进行处理后再返回。

void SendCommand(unsigned int command);

参数

命令
要发送的消息的命令 ID。

备注

此方法同步发送映射到命令指定的 ID 的消息。 它调用 CWnd::SendMessage 将消息置于窗口的消息队列中,并等待该窗口过程处理消息之后再返回。

另请参阅

如何:向 Windows 窗体控件添加命令传送
ICommandTarget 接口