ON_COMMAND_RANGE如何使用
时间: 2023-12-25 12:06:20 浏览: 139
ON_COMMAND_RANGE 是 MFC 消息映射机制中的一个宏,用于处理一系列连续的命令消息。它的语法如下:
```
ON_COMMAND_RANGE(idFirst, idLast, memberFxn)
```
其中,idFirst 和 idLast 为一系列命令的起始和结束 ID,memberFxn 为消息处理函数。
使用 ON_COMMAND_RANGE 宏,可以将多个命令消息映射到同一个消息处理函数中,从而简化代码。当用户选择任意一个命令时,都会触发该消息处理函数,并且函数中可以通过命令 ID 来区分不同的命令。
下面是一个示例代码:
```cpp
BEGIN_MESSAGE_MAP(CMyView, CView)
ON_COMMAND_RANGE(ID_COLOR_RED, ID_COLOR_BLUE, OnColor)
END_MESSAGE_MAP()
void CMyView::OnColor(UINT nID)
{
switch (nID)
{
case ID_COLOR_RED:
// 处理红色命令
break;
case ID_COLOR_GREEN:
// 处理绿色命令
break;
case ID_COLOR_BLUE:
// 处理蓝色命令
break;
}
}
```
在上面的代码中,当用户选择 ID_COLOR_RED、ID_COLOR_GREEN 或 ID_COLOR_BLUE 中的任意一个命令时,都会触发 OnColor 函数。函数中通过命令 ID 来区分不同的命令,并执行相应的操作。
阅读全文