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 ){//消息中的窗口...
最主要的是里面的virtual const DUI_MSGMAP* GetMessageMap() const; 是virtual函数 所以在CNotifyPump调用GetMessageMap的时候会去调用子类的GetMessageMap 结论:所以当使用消息映射的时候就必须继承CNotifyPump类。 特别是使用虚拟窗口的时候,因为没有具体的control父类,所以必须也只能使用CNotifyPump来进行消息映射。 那系...
转自http://blog.csdn.net/hireboy/article/details/38729931 Duilib虚拟界面由CNotifyPump类控制。 CNotifyPump类提供了AddVirtualWnd方法, 按虚拟窗口名称为Key值,绑定CNotifyPump类型的虚拟窗口添加到虚拟窗口m_VirtualWndMap容器中。 看下方红色代码: boolCNotifyPump::AddVirtualWnd(CDuiString strName,CNotifyPump...