使用soui开发的mbc,只支持windows版本
w1146869587
2022-01-24 0408576e9da10015ffa9da0079b8c985113ce4b3
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
#pragma once
// CMBAMAddinFrame command target
 
typedef struct _stAddinViewData
{
    CString    strFlag;
    CString strName;
    CString strURL;
    SRealWnd *pWebRealWnd;
    _stAddinViewData() :pWebRealWnd(NULL){};
}stAddinViewData;
 
typedef CMap<CString, LPCTSTR,stAddinViewData*, stAddinViewData*& > CMapStrAddinViewData;
 
class AFX_EXT_CLASS CMBAMAddinFrame  : public TAutoEventMapReg<CMBAMAddinFrame>//֪ͨÖÐÐÄ×Ô¶¯×¢²á   
{
public:
    CMBAMAddinFrame();
    virtual ~CMBAMAddinFrame();
private: // ×é¼þ
    SOUI::SWindow                *m_pPageRoot;
    HWND                        m_hWnd;
    SHostWnd                    *m_pHostWnd;     
    bool                        m_bLayoutInited;        // ÊÇ·ñ³õʼ»¯
    CMapStrAddinViewData        m_mapAddinViewData;
    stAddinViewData                *m_pAddinViewData;
public: //  ·þÎñ
    CMBServerMgr                *m_pServerMgr;
public: // ¹Ø±Õʱ
    void OnClose();  // ÓÃÀ´·´×¢²á£¬×Ô¶¨Òåʼþ
protected:
    //souiÏûÏ¢
    EVENT_MAP_BEGIN() 
        EVENT_CHECK_SENDER_ROOT(m_pPageRoot)  
    EVENT_MAP_BREAK()  
public:    
    void OnInit(SWindow *pRoot);
    void SetServerMgrPtr( CMBServerMgr *pMBServerMgr ); 
    void DoMessageLoop();
    void ShowAddinViewWeb(CString strFlag, CString strName, CString strURL);
    stAddinViewData *AddAMAddinData(CString strFlag,CString strName, CString strURL );
    stAddinViewData *GetAMAddinData(CString strFlag);
    void ClearAMAddinData();
protected:
    
};