§4.12 客户端的应用程序类CClientApp的设计
CClientApp类,定义了客户端全局的数据结构,客户端应用程序的入口 class CClientApp : public CWinApp { public: CClientApp(); BOOL m_bOnlineState; //用户的在线状态(0,1,2 分别为离线,在线,隐身) int m_nNumberHeadBmp; //保存头像文件的个数(从文件中读出) CArray<UserInfo*,UserInfo*>m_aUserInfo; //存储好友信息的数组 CArray<UserInfo*,UserInfo*>m_aStranger;//存储陌生人信息的数组 CArray<FriendState*,FriendState*>m_aUserState; //存储好友的在线状态及相关信息 CArray<FriendState*,FriendState*>m_aStrangerState; //存储陌生人在线状态及相关信息 CArray<SaveMsg*,SaveMsg*>m_aSysMsg; //接受到的系统消息数组 int m_nCurSysMsg; //当前读到的系统消息的位置(索引) CArray<SaveMsg*,SaveMsg*>m_aBroadcast;存放广播消息的数组 int m_nCurBroadcast; // 当前读到的广播消息的位置(索引) CArray<SaveMsg*,SaveMsg*>m_aBeAdd;//存放自己被别人加为好友的信息 int m_nCurBeAdd; 当前读到的被别人加为好友的信息的位置(索引) CClientSocket m_Socket; //底层通讯类的实例对象 DWORD m_uCurrentUserID; 当前用户的ID号 CString m_strCurIDpwd;当前用户的密码 CString m_strCurUserDir;当前用户的运行目录(是ID的数字串为目录) CString m_strServerIP; 服务器IP地址的字符串 DWORD m_uServerIP; 服务器IP地址的32位整数 DWORD m_uServerPort; 服务器的端口号 BYTE m_cLoginType; 登陆时,选择的状态(是否隐身登陆) CImageList m_imaLarge; //用户头像的大图标列表 CImageList m_imaSmall //用户头像的小图标列表 CImageList m_imaHead; //供用户选择头像时的大图标列表(没有灰色显示的) CBitmap** m_paBitmap;//用来指向在运行时,动态创建的Cbitmap对象数组 int m_nBitmapNum;//指示Cbitmap对象的个数 virtual BOOL InitInstance(); //包括客户端的初始化和配置信息的读取等 virtual int ExitInstance(); //退出时,必要的清理工作
首页 上一页 10 11 12 13 14 15 16 下一页 尾页 13/17/17