1:定义消息和消息处理函数关联的结构体
struct MessageMap
{
UINT nMessage;
LONG (*pMessageHandlePro)(HWND,UINT,WPARAM,LPARAM);
};
#define dim(x) (sizeof(x)/sizeof(x[0]))
2:利用上面的结构体来定义消息和消息处理函数
struct MessageMap _MessageMap[]=
{
WM_CREATE,onCreate,
WM_PAINT, onPaint,
................................................
}
3:处理消息过程
LRESULT CALLBACK(HWND hwnd,UINT message,WPARAM wparam,LPARAM lparam)
{
int i;
for(i=0,i<dim(_MessageMap),I++)
{
if(message==_MessageMap.nMessage)
{
return (*_MessageMap.MessageHandlePro)(HWND,UINT,WPARAM,LPARAM)
}
}
}
消息响应函数
LONG onCreate(HWND,UINT,WPARAM,LPARAM)
{
///消息处理过程
}