网站大量收购闲置独家精品文档,联系QQ:2885784924

基于MFC仿QQ聊天程序设计完整实例教程.doc

基于MFC仿QQ聊天程序设计完整实例教程.doc

  1. 1、本文档共33页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
本系统基于客户端/服务器基本原理,程序即是服务端,也是客户端,通过IP就可以相互添加好友,并且实现点到点通信,有聊天记录(未实现根据用户发送的消息而改变字体颜色,只能在客户端改),字体颜色设置(一改全改~),包含主界面MaindBord和聊天Talk两大功能模块。 (1) MaindBord模块 A、登录模块 登陆模块的实现过程有下面几个步骤: (1)初始化列表信息,获取用户名,服务器的IP地址,使按键失效 (2)确认登陆后创建套接字,绑定,监听 (3)初始化成功后,激活添加好友和隐藏功能 B、好友模块 添加好友的实现过程有下面几个步骤: (1)弹出对话框 (2)获取对话框中的IP (3)检查对方是否在线,建立连接 (4)发送请求验证 C、好友列表模块 (1)客户接收请求,将服务端加入列表,发送客户端信息 (2)服务端得到客户端信息,加入列表 (3)双击好友列表,弹出发送信息对话框 D、隐藏模块 (1)隐藏与显示 (2)响应鼠标,弹出控制菜单 (2)聊天Talk模块 A、发送信息模块 聊天模块中,发送信息模块的实现过程有下面几个步骤: (1)通过列表双击一个好友为聊天对象,弹出聊天窗口; (2)用户按下发送按钮后,检测对方是否在线, 检测对方是否在线 (3)将聊天内容发送出去 (4)在本地即时聊天内容显示的编辑框中添加发送的内容并写入聊天记录。 B、 接收信息模块 聊天模块中,接收信息模块的实现过程有下面几个步骤: (1)由主界面判断接收到信息的类型,是否为好友发来信息,如果是,则打开聊天窗口 (2)读取消息,并写入聊天记录, (3)载入字体颜色信息。 (4) 显示聊天记录 C、聊天记录管理模块 聊天记录管理模块的实现过程有下面几个步骤: (1)将发送内容和接收内容写入文本文件; (2)显示聊天记录; (3)删除聊天记录。 D、 字体颜色模块 实现字体颜色模块的过程有下面几个步骤: (1)调用系统字体,获取字体,写入存档 (2) 调用系统字体颜色,获取颜色,写入存档 (3)读取、更新字体颜色。 让我们先看下运行结果: Windows7 Windows2003 Windows7 Windows2003 Windows7 Windows2003 Windows7 Windows 2003 心动了么?让我们开始对第一个模块,也就是MainBord的设计吧。 一、MainBord模块 新建一个MainBord工程 选择Dialog based,然后Finsh 二、界面设计如下: (一)、MainBord界面设计如下: 将各ID值设置如下图,通过类向导添加listbox成员变量 (二)、添加好友对话框界面设计如下: 双击,添加类 将各ID值设置如下图,通过类向导添加成员变量 (三)、弹出菜单界面设计如下: (四)添加图标 三、代码部分: (一)准备部分 首先,在StdAfx.h中添加如下代码:afxsock.h 头文件;在MainBordDlg.cpp添加Message.h 、AddFreind.h; 其次,MainBordDlg.h添加如下代码: #define WM_CLIENT_ACCEPT WM_USER+101 #define WM_CLIENT_READCLOSE WM_USER+102 ///////////////////////////////////////////////////////////////////////////// // CMainBordDlg dialog // Construction public: int TrayAddIcon(); char lpszTipBefore[100]; //修改前的图标提示信息 LRESULT OnAccept(WPARAM wParam,LPARAM lParam); LRESULT OnRead(WPARAM wParam,LPARAM lParam); CMainBordDlg(CWnd* pParent = NULL); // standard constructor SOCKET Client; //客户的连接请求 SOCKET ServerSocket; //SOCKET SOCKET tempSocket; SOCKADDR_IN tempSocketAddr; SOCKADDR_IN m_sockServerAddr; //SOCKET 结构 BOOL IsT

文档评论(0)

DQWvpUSYMv + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档