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 将消息置于窗口的消息队列中,并等待该窗口过程处理消息之后再返回。