112 }
113}
114
115void CBasicWndInfo::RemoveAll()
116{
117 m_list_scw.clear();
118}
119
120CBasicWndInfo::CBasicSubClassWndMap& CBasicWndInfo::GetHookMap()
121{
122 static CBasicSubClassWndMap s_map;
123 return s_map;
124}
125
126LRESULT CBasicWndInfo::HookWndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
127{
129 if (uMsg==WM_NCDESTROY)
130 {
131 //iter->second.RemoveAll();
132 }
133 else
134 {
135 CBasicSubClassWndList::iterator it;
136 for (it=iter->second.m_list_scw.begin();it!=iter->second.m_list_scw.end();++it)
137 {
138 if (!(*it)->SubWindowProc(uMsg,wParam,lParam))
139 return 0;
140 }
141 }
142 return ::CallWindowProc(iter->second.m_oldWndProc,hWnd,uMsg,wParam,lParam);
143}
摘自 天道酬勤