我需要将一个值转换为相应的消息宏,例如0x100到WM_KEYDOWN。
是否存在此开源实现?
答案 0 :(得分:3)
除非您的API供应商提供了一种方法,否则您将失去运气,而您将不得不自己动手。 #
字符串化运算符可帮助您输入更少的内容:
struct macromap
{
int macro,
char *name;
};
#define MAP_ENTRY(macro) { macro, #macro }
struct macromap map[] =
{
MAP_ENTRY(WM_KEYDOWN),
MAP_ENTRY(WM_SOMETHINGELSE),
.
.
.
};
答案 1 :(得分:0)
首先,我可能没理解你的问题。
每条消息都已定义为DWORD宏,我假设你想要这个:
swith(value)
{
case WM_KEYDOWN:
do what you want
break;
case ...:
....
break;
}