|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
换了个类咋就不行了???大致就是换了个map,成员函数没毛病
- typedef LRESULT(CClientController::* MSGFUNC)(UINT nMsg, WPARAM wParam, LPARAM lParam);
- static std::map<UINT, MSGFUNC> m_mapFunc; //消息映射
- struct { UINT nMsg; MSGFUNC func; }MsgFunce[] =
- {
- {WM_SHOW_STATUS ,&CClientController::OnShowStatus },
- {WM_SHOW_WATCH ,&CClientController::OnShowWatcher},
- {(UINT)-1,NULL}
- };
- for (int i = 0; MsgFunce[i].func != NULL; i++)
- {
- m_mapFunc.insert(std::pair<UINT, MSGFUNC>(MsgFunce[i].nMsg, MsgFunce[i].func)); //插入映射表
- }
- }
复制代码
- typedef LRESULT(CClientSocket::* MSGFUNC)(UINT nMsg, WPARAM wParam, LPARAM lParam);
- std::map<UINT, MSGFUNC> m_mapFunc;
- struct { UINT message; MSGFUNC func;} funcs[] =
- {
- {WM_SEND_PACK,&CClientSocket::SendPack},
- {0,NULL}
- };
- for (int i = 0; funcs[i].message != 0; i++)
- {
- if (m_mapFunc.insert(std::pair<UINT, MSGFUNC>(funcs[i].message, funcs[i].func)).second) == false)
- TRACE("插入失败消息:[%d] 函数[%08X] 序号[%d]\n", funcs[i].message, funcs[i].func, i);
- }
复制代码 |
|