Ete*_*ner 1 c++ mfc ribbon message-map
我有一个函数,根据它收到的std :: string值执行特定的操作.
例如:
void performTaskOnStringValue(std :: string);
现在我有一组Ribbon Buttons(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以从按钮获取文本.