使用VC进行SDK编程时使用宏映射按钮消息
写SDK程序的时候,有很多的按钮要进行消息映射,今天参数windowsx.h中的 HANDLE_MSG宏,自己加了一个通用的消息映射宏HANDLE_CMD
通过使用这个宏来映射界面上的按钮类,方便了许多.
示例代码如下:
void WinOnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) { switch(id) { HANDLE_CMD(Win,IDOK);//映射到IDOK按钮 HANDLE_CMD(Win,IDCANCEL);//映射到IDCANCEL按钮 default: return ; } }
HANDLE_CMD宏的写法如下:
//这个宏用于处理WM_COMMAND消息 #define HANDLE_CMD(arg,id) case id:(void)(arg##On##id)(hwnd);break;
实际执行函数体如下:
//IDOK按钮 void WinOnIDOK(HWND hwnd ) { SetWindowText(hwnd,_T("Hello Ftp")); } //IDCANCEL按钮 void WinOnIDCANCEL(HWND hwnd ) { DestroyWindow(hwnd); }
这是我的一点小经验。写在这里记录下吧。也算是我勤奋学习的小纪录了。