void CNotifyPump::NotifyPump(TNotifyUI& msg) { ///遍历虚拟窗口 if( !msg.sVirtualWnd.IsEmpty() ){ for( int i = 0; i< m_VirtualWndMap.GetSize(); i++ ) { if( LPCTSTR key = m_VirtualWndMap.GetAt(i) ) { if( _tcsicmp(key, msg.sVirtualWnd.GetData()) == 0 ){ CNotifyPump* pObject = static_cast<CNotifyPump*>(m_VirtualWndMap.Find(key, false)); if( pObject && pObject->LoopDispatch(msg) ) return; } } } } /// //遍历主窗口 LoopDispatch( msg ); }
void CNotifyPump::NotifyPump(TNotifyUI& msg) { ///±éÀúÐéÄâ´°¿Ú if( !msg.sVirtualWnd.empty() ) { map<string,void*>::iterator it = m_VirtualWndMap.begin(); for(;it != m_VirtualWndMap.end(); it++) { if (it->first == msg.sVirtualWnd) { CNotifyPump* pObject = static_cast<CNotifyPump*>(it->second); if( pObject && pObject->LoopDispatch(msg) ) return; } } } /// //±éÀúÖ÷´°¿Ú LoopDispatch( msg ); }