Example #1
0
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 );
}
Example #2
0
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 );
}