如何将值传递给MFC消息映射函数on_command
How to pass value to MFC message map function on_command
我有一个函数,它根据接收到的std::string值执行特定的操作。
例如:
void performTaskOnStringValue(std::string);
现在我有一组功能区按钮(CMFCRibbonButton),它们需要通过在按钮单击时将各自的文本作为值来调用此函数。
我已经将这些按钮的id映射到具有按钮id的消息映射宏on_command。所有的按钮都有一个共同的id-例如-
ID_RIBBON_BUTTON_ID
消息映射如下
ON_COMMAND(ID_RIBBON_BUTTON_ID,&MyClass::performTaskOnStringValue);
如何将按钮文本作为参数传递给ButtonClick上的此函数
当按钮都有相同的ID时,不能让它们执行不同的操作。命令处理程序无法指示按下了哪个按钮。
如果可以为按钮指定连续ID,则可以使用ON_COMMAND_RANGE。这将向您传递按钮的ID,您可以将其传递给GetDlgItemText以从按钮获取文本。
首先,在一个连续的范围内为每个按钮提供不同的id。
其次,使用ON_COMMAND_RANGE将所有按钮映射到一个接收id作为参数的处理程序。
第三,在该处理程序中,使用id来获取按钮文本。然后,您可以调用performTaskOnStringValue方法。
相关文章:
- 重构MFC消息映射以包括完全限定的成员函数指针
- C++ 已停止工作静态映射函数
- MFC 消息映射中的函数地址
- C++中的映射函数
- 从 lambda 内部返回 C++11 中的 lambda 类型(平面映射函数)
- 如何将值传递给MFC消息映射函数on_command
- 创建高阶映射函数时,应该使用指针、引用或值
- 获得错误的函数消息
- 什么是 C++ 中的映射函数
- 使用变量参数映射函数并通过字符串 c++ 调用
- OpenCV 3.1 重映射函数类型值错误
- std::映射函数指针
- 在一个简单的映射函数中避免IF
- 相当于使用lambda的python映射函数
- 如何在MFC中映射错误消息框的帮助id
- 更好的数据结构映射函数与多个参数(键)
- 使用 c++11 构造映射函数
- 反向映射函数关系(c++)
- 类C++中的映射函数
- c++映射函数中的向量相等