MFC Ribbon界面开发是MFC UI技术的前沿,资料少之又少。之前开发一款工业软件时遇到编辑框、下拉框始终为灰色除能状态的现象,即使加了响应回调函数也无济于事,仔细比对了MSDN的例程,得出解决方案,特此记录。
在MainFrm.h中声明一个消息
afx_msg void OnDummy(UINT id);
其函数体可以为空。
在MainFrm.cpp消息映射中增加
ON_COMMAND_RANGE(ID_RIBBON_A, ID_RIBBON_Z, OnDummy)
ID_RIBBON_A与ID_RIBBON_Z作为两个控件边界ID,在资源resource.h中为
#define ID_RIBBON_A 32000 xxxx #define ID_RIBBON_Z 42000
其中xxx是所谓Ribbon编辑框、下拉框甚至按钮的ID(按钮其实只要添加响应回调函数就能使能)
以上。