使用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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
#pragma once
#define PROPNAME_ORGSVERIFY            ( _T("orgsverify") )        // ORGS·µ»ØµÄÑéÖ¤Âë
#define PROPNAME_ORGSSESSIONID        ( _T("orgssessionid") )
 
 
#define        LOGINSTATUS_NONE                    ( 0 )    // Ä¬ÈÏ
#define        LOGINSTATUS_LOGINED                    ( 1 )    // µÇ¼³É¹¦
#define        LOGINSTATUS_LOGINING                ( 2 )    // µÇ¼ÖÐ
#define        LOGINSTATUS_FAILED                    ( 3 )    // µÇ¼ʧ°Ü
 
#define    MSGPERFORM_TYPE_DEFAULT            (0) // Õý³£·¢ËÍÏûÏ¢
#define MSGPERFORM_TYPE_ATTITUDE_AGREE    (1)    // Ì¬¶ÈͬÒⲻͬÒâ
#define    MSGPERFORM_TYPE_MAKECOPY        (2)    // ³­ËÍ
#define MSGPERFORM_TYPE_AUDITING        (3)    // ÉóºË
 
#define        IDS_LOGIN_SEARCHSERVER  _T("ÕýÔÚ²éÕÒ·þÎñÆ÷ ......")
#define        IDS_LOGIN_FINDEDSERVER  _T("ÕÒµ½·þÎñÆ÷")
#define        IDS_LOGIN_CONNECTERR    _T("Á¬½Ó´íÎó")
#define        IDS_LOGIN_FINDERROR     _T("²éÕÒ·þÎñÆ÷´íÎó")
#define        IDS_LOGIN_CONNECTPROXY  _T("ÕýÔÚÁ¬½Ó´úÀí·þÎñÆ÷ ......")
#define        IDS_LOGIN_CONNECTING    _T("ÕýÔÚÁ¬½Ó·þÎñÆ÷ ......")
#define        IDS_LOGIN_LOGINSERVER   _T("ÕýÔڵǼ·þÎñÆ÷ ......")
#define        ERR_TIMEOUT_TRAN         _T("Á¬½Ó³¬Ê±")
#define    IDS_LOGIN_CONNECTED     _T("Á¬½Óµ½·þÎñÆ÷")
#define    IDS_LOGIN_CONNECTCLOSE  _T("Á¬½Ó¶Ï¿ª")
#define    IDS_LOGIN_SUCCESS       _T("µÇ¼³É¹¦")
#define    IDS_LOGIN_FAILE         _T("µÇ¼ʧ°Ü")
 
 
#ifdef _DEBUG
#define        TIME_FIRST                        ( 60 )        // 2 Min
#define        TIME_SECOND                        ( 120 )        // 4 Min
#else
#define        TIME_FIRST                        ( 120 )        // 2 Min
#define        TIME_SECOND                        ( 240 )        // 4 Min
#endif
 
 
 
#define        DEFAULT_FONTNAME            ( _T("΢ÈíÑźÚ") )
#define        DEFAULT_FONTSIZE            ( 9 )
#define        LY_PER_INCH   1440
#define        OLENAME_FETCHMORE _T("FetchMoreOle")
 
 
 
//STKComÃüÁî
#define    CMD_MSYN                ( _T("MSYN") )    // Í¬²½ÏûÏ¢
#define CMD_MSYM                ( _T("MSYM") )    // Í¬²½ÏûÏ¢-ÏÂÒ»Ò³
#define CMD_MRRI                ( _T("MRRI") )    // »ñÈ¡ÏûÏ¢½ÓÊÕÈËÐÅÏ¢
 
#define CMD_MCHG                ( _T("MCHG") )    // ¸Ä±äÓû§×´Ì¬
#define CMD_MSUS                ( _T("MSUS") )    // ¶©ÔÄÓû§ÔÚÏß״̬ 
 
#define CMD_MMSG                ( _T("MMSG") )    // ·¢ËÍÏûÏ¢
 
 
#define CMD_MNLN                ( _T("MNLN") )    // ÔÚÏß״̬֪ͨ
#define CMD_MFLN                ( _T("MFLN") )    // ÀëÏß״̬֪ͨ
#define CMD_MOUT                ( _T("MOUT") )    // Ìß³ýÓû§
#define CMD_MNTY                ( _T("MNTY") )    // Í¨Öª
 
 
 
#define        CPI_MCHG_NSTATUS        1        // µÃµ½Óû§×´Ì¬Öµ
 
#define        CPI_MSG_SMSGID            1        // ÏûÏ¢·¢Ëͳɹ¦,ÏûÏ¢ID
#define        CPI_MSG_SSENDDATE        4        // ÏûÏ¢ÔÚ·þÎñ¶ËµÄ·¢ËÍʱ¼ä
 
#define        CPI_MNLN_NSTATUS        0        // µÃµ½Óû§ÔÚÏß֪ͨ,ÔÚÏßµÄ״̬
#define        CPI_MNLN_SLOGINNAME        1        // Óû§µÄLoginName
#define        CPI_MNLN_SUSERNAME        2        // Óû§µÄUserName
#define        CPI_MNLN_NFLAG            3        // Óû§µÄFlag
#define        CPI_MNLN_NLEVEL            4        // Óû§µÄÅÅÐòµÈ¼¶
 
#define        CPI_MFLN_SLOGINNAME        0        // ÀëÏß,Óû§µÄLoginName
 
#define        CPI_MNTY_NTYTYPE        0        // ÏûÏ¢±»´ò¿ªÍ¨Öª,֪ͨÀàÐÍ
#define        CPI_MNTY_SMSGID            1        // ÏûÏ¢IDºÅ
#define        CPI_MNTY_SLOGINNAME        2        // ÏûÏ¢µÄLoginName
#define        CPI_MNTY_SUSERNAME        3        // ÏûÏ¢µÄUserName
#define        CPI_MNTY_SSUBJECT        4        // ÏûÏ¢µÄÖ÷Ìâ
#define        CPI_MNTY_SOPENDATE        5        // ÏûÏ¢±»´ò¿ªµÄʱ¼ä
 
#define NTYTYPE_SFW                ( _T("SFW") )    // ÉÁÆÁ
 
#define NTYTYPE_APP                ( _T("APP") )    // À©Õ¹Ó¦ÓõÄ֪ͨÀàÐÍ£¬ÓÃÓëȺ¡¢MOBOXÖ®ÀàµÄÓ¦ÓÃ
 
typedef CMap<long, long&, long, long&> CMapLongToLong;
typedef CMap<long, long&, CString, LPCTSTR> CMapLongToString;
typedef CMap<CString, LPCTSTR,long, long& > CMapStringToLong;
 
 
typedef struct _stAttachInfo
{
    CString        strUser;
    CString        strFileSFlag;
    CString        strFilePath;
    CString        strMsgID;
    CString        strFileID;
    CString        strFileType;
    CString        strCompressFile;
    __int64        nFileSize;
    bool        bIsImg;
    bool        bNewImage;
    bool        bIsOpen;
    bool        bIsDelete;
    DWORD        dwData;
    CString        strParam;
    HWND        hWnd;
    _stAttachInfo(): strUser(_T("")),strFileSFlag(_T("")),strFilePath(_T("")),strCompressFile(_T("")),strMsgID(_T("")),strFileID(_T("")),strFileType(_T("")),nFileSize(0),bIsImg(false),bNewImage(true) ,bIsOpen(false),bIsDelete(false),dwData(0),strParam(_T("")),hWnd(NULL) {};
}stAttachInfo;
 
 
typedef CArray<stAttachInfo, stAttachInfo&> CArrayAttachInfo;
 
typedef struct _stSTKImageInfo
{
    CString        strUser;
    CString        strFilePath;
    CString        strFileID;
    bool        bNewImage;
    int            nDownoadCnt;
    _stSTKImageInfo(): bNewImage(true) ,nDownoadCnt(0){};
}stSTKImageInfo;
 
typedef CMap<CString, LPCTSTR, stAttachInfo, stAttachInfo&> CMapAttachInfo;
typedef CMap<CString, LPCTSTR, stSTKImageInfo, stSTKImageInfo&> CMapSTKImageInfo;
 
typedef CMap<CString, LPCTSTR, SOUI::HTREEITEM , SOUI::HTREEITEM &>        CMapOrgTreeItem;
 
typedef struct _stAMDeleteFileInfo
{
    CString        strUser;
    CString        strFilesFlag;
    CString        strFileID;
    _stAMDeleteFileInfo(){};
}stAMDeleteFileInfo;
 
 
 
 
#define MENUITEM_ORG_BASE            0 // ×éÖ¯½á¹¹²Ëµ¥»ù´¡ID
#define MENUITEM_ORG_SENDMSG            MENUITEM_ORG_BASE + 1  // ·¢ÏûÏ¢
#define MENUITEM_ORG_USERATTR            MENUITEM_ORG_BASE + 2  // ¸öÈËÊôÐÔ
#define MENUITEM_ORG_REMOVEMEMBER        MENUITEM_ORG_BASE + 3   // ÒƳö×é³ÉÔ±
#define MENUITEM_ORG_MOVETOMEMBER        MENUITEM_ORG_BASE + 4   // Òƶ¯×é³ÉÔ±
 
#define MENUITEM_ORG_NEWGROUP            MENUITEM_ORG_BASE + 5   // Ìí¼Ó·Ö×é
#define MENUITEM_ORG_RENAMEGROUP        MENUITEM_ORG_BASE + 6   // ÐÞ¸Ä×éÃû
#define MENUITEM_ORG_DELETEGROUP        MENUITEM_ORG_BASE + 7  // É¾³ý·Ö×é
#define MENUITEM_ORG_ADDMEMBER            MENUITEM_ORG_BASE + 8   // Ìí¼Ó×é³ÉÔ±
#define MENUITEM_ORG_ADDTOFRIEND        MENUITEM_ORG_BASE + 9   // Ìí¼Óµ½ÁªÏµÈËÁбí
 
#define MENUITEM_ORG_MULSENDMSG            MENUITEM_ORG_BASE + 10  // Èº·¢ÏûÏ¢
#define MENUITEM_ORG_GROUPSENDMSG        MENUITEM_ORG_BASE + 11  // ²¿ÃÅȺ·¢
#define MENUITEM_ORG_REOMVECONTACT        MENUITEM_ORG_BASE + 12  // ÒƳö»á»°Áбí
#define MENUITEM_ORG_SENDCAPTURE        MENUITEM_ORG_BASE + 13  // ·¢ËÍ½ØÆÁ
#define MENUITEM_ORG_IMPORTMEMBER        MENUITEM_ORG_BASE + 14   // µ¼Èë·Ö×é³ÉÔ±
#define MENUITEM_ORG_EXPORGROUPTMEMBER    MENUITEM_ORG_BASE + 15   // µ¼³ö¸Ã×é³ÉÔ±
#define MENUITEM_ORG_EXPORTMEMBER        MENUITEM_ORG_BASE + 16   // µ¼³öÈ«²¿·Ö×é³ÉÔ±
#define MENUITEM_ORG_RELOAD                MENUITEM_ORG_BASE + 17   // ÖØÐÂ×°ÔØ
#define MENUITEM_ORG_NEWDISSGROUP        MENUITEM_ORG_BASE + 18  // ´´½¨¶àÈ˻Ự
 
#define MENUITEM_ORG_SHOWLARGEICO        MENUITEM_ORG_BASE + 20 // ÏÔʾ´óͼ±ê
#define MENUITEM_ORG_SHOWSMALLICO        MENUITEM_ORG_BASE + 21 // ÏÔʾСͼ±ê
#define MENUITEM_ORG_SORTBYNAME            MENUITEM_ORG_BASE + 22  // °´Ãû³ÆÅÅÐò
#define MENUITEM_ORG_SORTBYCREATEDATE    MENUITEM_ORG_BASE + 23 // °´´´½¨Ê±¼äÅÅÐò
#define MENUITEM_ORG_GETUSERIP            MENUITEM_ORG_BASE + 24 // »ñÈ¡Óû§µÇ¼IP
 
#define MENUITEM_ORG_MSGSHOWSTYLE                MENUITEM_ORG_BASE + 25  // ÏûÏ¢ÏÔʾÉèÖÃ
#define MENUITEM_ORG_MSGSHOW_AUTOSHOW        MENUITEM_ORG_BASE + 26  // ÏûÏ¢ÏÔʾÉèÖÃ-×Ô¶¯µ¯³öÏûÏ¢
#define MENUITEM_ORG_MSGSHOW_PROMPTSHOW        MENUITEM_ORG_BASE + 27  // ÏûÏ¢ÏÔʾÉèÖÃ-½ÓÊÕ²¢ÌáʾÏûÏ¢
#define MENUITEM_ORG_MSGSHOW_ONLYPROMPTCNT    MENUITEM_ORG_BASE + 28  // ÏûÏ¢ÏÔʾÉèÖÃ-²»ÌáʾÏûÏ¢Ö»ÏÔʾÊýÄ¿
 
#define MENUITEM_CROWD_BASE                40 // Èº²Ëµ¥»ù´¡ID
 
#define MENUITEM_CROWD_NEW                MENUITEM_CROWD_BASE + 1  // ´´½¨Èº
#define MENUITEM_CROWD_SEMNDMSG            MENUITEM_CROWD_BASE + 2  // ·¢ËÍȺÏûÏ¢
#define MENUITEM_CROWD_ATTR                MENUITEM_CROWD_BASE + 3    // ÈºÊôÐÔ
#define MENUITEM_CROWD_EXIT                MENUITEM_CROWD_BASE + 4    // Í˳ö
#define MENUITEM_CROWD_MODIFY            MENUITEM_CROWD_BASE + 5    // ÐÞ¸Ä
#define MENUITEM_CROWD_DELETE            MENUITEM_CROWD_BASE + 6    // É¾³ýȺ
 
#define        APART_MULLOGIN            ( _T("|") )
 
#define     ITEMNAME_BODY                ( _T("Body"))
 
#define     CPN_CROWD_BODY                ( _T("Crowd"))
#define     CPN_CROWD_ID                ( _T("ID") )
#define     CPN_CROWD_NAME                ( _T("Name"))
#define     CPN_CROWD_DESC                ( _T("Desc"))
#define     CPN_CROWD_STATE            ( _T("State"))
#define     CPN_CROWD_TYPE                ( _T("Type") )
#define     CPN_CROWD_RELID            ( _T("RelID") )
#define     CPN_CROWD_VERIFY            ( _T("Verify"))
#define     CPN_CROWD_CREATER            ( _T("Creater") )
#define     CPN_CROWD_CREATERNAME        ( _T("CreaterName"))
#define     CPN_CROWD_CREATERDATE        ( _T("CreateDate"))
#define     CPN_CROWD_NOTICE            ( _T("Notice"))
#define     CPN_CROWD_CATEGORY            ( _T("Category") )
#define     CPN_CROWD_SCACOUNT            ( _T("ScaCount") )
#define     CPN_CROWD_USERCOUNT        ( _T("UserCount") )
 
 
#define     CPN_CROWD_SERVER        ( _T("Server") )
#define     CPN_CROWD_SERVERNAME    ( _T("Name") )
#define     CPN_CROWD_SERVERIP        ( _T("IP") )
#define     CPN_CROWD_SERVERPORT    ( _T("Port") )
 
#define     CPN_CROWD_USER            ( _T("User"))
#define     CPN_CROWD_USERLOGIN    ( _T("LoginName") )
#define     CPN_CROWD_USERNAME        ( _T("UserName"))
#define     CPN_CROWD_USERSTATE    ( _T("State"))
#define     CPN_CROWD_USERJIONTIME    ( _T("JoinTime"))
#define     CPN_CROWD_USERJIONTYPE    ( _T("JoinType") )
#define     CPN_CROWD_USERISADMIN    ( _T("IsAdmin") )
#define     CPN_CROWD_USERSEX        ( _T("Sex"))
#define     CPN_CROWD_LASTTALKING    ( _T("LastTalking") )
#define     CPN_CROWD_USERSTATUS    ( _T("Status"))
 
 
#define     CPN_FILE_BODY            ( _T("File"))
#define     CPN_FILE_ID            ( _T("ID") )
#define     CPN_FILE_CROWDID        ( _T("CrowdID") )
#define     CPN_FILE_TYPE            ( _T("Type") )
#define     CPN_FILE_NAME            ( _T("Name") )
#define     CPN_FILE_SIZE            ( _T("Size") )
#define     CPN_FILE_SENDER        ( _T("Sender") )
#define     CPN_FILE_SENDERNAME    ( _T("SenderName") )
#define     CPN_FILE_SENDDATE        ( _T("Date") )
#define     CPN_FILE_ENTYPE        ( _T("EnType") )
#define     CPN_FILE_DOWNCOUNT        ( _T("DownCount") )
 
 
 
#define        SOUND_NULL                ( 0 )
#define        SOUND_LOOP                ( 1 )
#define        SOUND_STOP                ( 2 )
 
// Event
#define        EVENTSOUND_CONTACTONLINE    _T( "STK_ContactOnline" )    // ÁªÏµÈËÉÏÏß
#define        EVENTSOUND_NEWNOTIFY        _T( "STK_NewNotify" )        // ÐÂ֪ͨ
#define        EVENTSOUND_NEWALERT            _T( "STK_NewAlert" )            // ÐÂÌáÐÑ
#define        EVENTSOUND_NEWTASK            _T( "STK_NewTask" )            // ÐÂÈÎÎñ
#define        EVENTSOUND_NEWMSG            _T( "STK_NewMsg" )            // ÐÂÏûÏ¢
#define        EVENTSOUND_RINGIN            _T( "STK_RingIn" )            // ÓïÒô¶Ô»°ÇëÇó
 
#define        WM_LOADCROWDMEMBER_RES            WM_USER + 301
#define        WM_ADDCROWDUSER_RES                WM_USER + 302
#define        WM_REMOVECROWDUSER_RES            WM_USER + 303
#define        WM_LOADCROWDFILES_RES            WM_USER + 304
#define        WM_SENDCROWDFILE_RES            WM_USER + 305
#define        WM_DELETECROWDFILE_RES            WM_USER + 306
#define        WM_DOWNCROWDSFILE_RES            WM_USER + 307
#define        WM_DOWNCROWDDFILE_RES            WM_USER + 308
#define        WM_RECVSENDCROWDFILE_MSG        WM_USER + 309
#define        WM_RECVDELETECROWDFILE_MSG        WM_USER + 310
#define        WM_CHANGECROWDADMIN_RES            WM_USER + 311
 
//Óû§ÏûÏ¢ÏÔʾÀàÐÍ
#define        MSGRIGHT_PROMPTSHOW        ( 0 )
#define        MSGRIGHT_AUTOSHOW        ( 1 )
#define        MSGRIGHT_ONLYPROMPTCNT    ( 2 )
 
//ÈÎÎñÀ¸Î»ÖÃ
#define TB_POS_NONE                0   // Ã»ÓÐÈÎÎñÀ¸
#define TB_POS_TOP                1   // ÈÎÎñÀ¸ÔÚÖ÷ÆÁÉÏ·½
#define TB_POS_BOTTOM            2   // ÈÎÎñÀ¸ÔÚÖ÷ÆÁÏ·½
#define TB_POS_LEFT                3   // ÈÎÎñÀ¸ÔÚÖ÷ÆÁ×ó·½
#define TB_POS_RIGHT            4   // ÈÎÎñÀ¸ÔÚÖ÷ÆÁÓÒ·½
#define TB_POS_EXTOP            5   // ÈÎÎñÀ¸ÔÚÀ©Õ¹ÆÁÉÏ·½
#define TB_POS_EXBOTTOM            6   // ÈÎÎñÀ¸ÔÚÀ©Õ¹ÆÁÏ·½
#define TB_POS_EXLEFT            7   // ÈÎÎñÀ¸ÔÚÀ©Õ¹ÆÁ×ó·½
#define TB_POS_EXRIGHT            8   // ÈÎÎñÀ¸ÔÚÀ©Õ¹ÆÁÓÒ·½
//amÎļþÁбíµã»÷λÖÃ
#define AMClick_POS_NONE        0   // 
#define AMClick_POS_OPEN        1   // ´ò¿ª°´Å¥
#define AMClick_POS_DOWNLOAD    2   // ÏÂÔØ°´Å¥
#define AMClick_POS_RCLICK        3   // ÓÒ¼ü²Ëµ¥
#define AMClick_POS_CANCE        4   // È¡Ïû
#define AMClick_POS_DELETE        5   // É¾³ý
#define AMClick_POS_RETRANSFER    6   // ÖØ´«
#define AMClick_POS_FORWARD        7   // ×ª·¢
 
//amÏûÏ¢Áбíµã»÷λÖÃ
#define AMMSGClick_POS_NONE        0   // 
#define AMMSGClick_POS_DBCLICK        1   // Ë«»÷
#define AMMSGClick_POS_RCLICK        2   // µ¥»÷ÓÒ¼ü
//¹²ºÃÏûÏ¢ÀàÐÍ
#define GUNGHOMSG_TYPE_NONE                0 // Ó¦ÓÃÓÐа汾¸üÐÂ
#define GUNGHOMSG_TYPE_NEWTASK            1 // ÐÂÈÎÎñµ½´ï֪ͨ
#define GUNGHOMSG_TYPE_TASKCHANGE        2 // ÈÎÎñ±ä¸ü֪ͨ
#define GUNGHOMSG_TYPE_TASKCLOSE        3 // ÈÎÎñÇ¿ÖÆ¹Ø±Õ֪ͨ
#define GUNGHOMSG_TYPE_TASKDELETE        4 // ÈÎÎñɾ³ý֪ͨ
#define GUNGHOMSG_TYPE_NEWPRJBACK        11 // Ð·´À¡Í¨Öª
#define GUNGHOMSG_TYPE_PRJBACKDELETE    12 // ·´À¡É¾³ý֪ͨ
 
#define GUNGHOMSG_TYPE_WFTASKNEW        21 // ÐÂÉóºËÈÎÎñµ½´ï
#define GUNGHOMSG_TYPE_WFTASKURGE        22 // ÉóºËÈÎÎñ´ß°ì
 
//¹²ºÃÏûÏ¢ÈÎÎñÀ´Ô´ÀàÐÍ
#define GUNGHOMSG_FROMTYPE_NONE            0 // ³£¹æ´´½¨
#define GUNGHOMSG_FROMTYPE_PRJEVENT        1 // ÏîĿʼþ
#define GUNGHOMSG_FROMTYPE_PRJPLAN        2 // ÏîÄ¿¼Æ»®
#define GUNGHOMSG_FROMTYPE_WORKPLAN        3 // ¹¤×÷¼Æ»®
#define GUNGHOMSG_FROMTYPE_IMWORK        4 // Öص㹤×÷
#define GUNGHOMSG_FROMTYPE_MEETTING        5 // »áÒé
#define GUNGHOMSG_FROMTYPE_PRJMEETTING    6 // ÏîÄ¿Àý»á