欢迎来到天天文库
浏览记录
ID:46790809
大小:415.00 KB
页数:33页
时间:2019-11-27
《MFC仿QQ程序的设计完整实例教程》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、......本系统基于客户端/服务器基本原理,程序即是服务端,也是客户端,通过IP就可以相互添加好友,并且实现点到点通信,有聊天记录(未实现根据用户发送的消息而改变字体颜色,只能在客户端改),字体颜色设置(一改全改~),包含主界面MaindBord和聊天Talk两大功能模块。(1)MaindBord模块A、登录模块登陆模块的实现过程有下面几个步骤:(1)初始化列表信息,获取用户名,服务器的IP地址,使按键失效(2)确认登陆后创建套接字,绑定,监听(3)初始化成功后,激活添加好友和隐藏功能B、好友模块添加好友的实现过程有下面几个步骤:(1)弹出对话框(2)获取对话框中的IP(3)检
2、查对方是否在线,建立连接(4)发送请求验证C、好友列表模块(1)客户接收请求,将服务端加入列表,发送客户端信息(2)服务端得到客户端信息,加入列表(3)双击好友列表,弹出发送信息对话框D、隐藏模块(1)隐藏与显示(2)响应鼠标,弹出控制菜单(2)聊天Talk模块学习好帮手......A、发送信息模块聊天模块中,发送信息模块的实现过程有下面几个步骤:(1)通过列表双击一个好友为聊天对象,弹出聊天窗口;(2)用户按下发送按钮后,检测对方是否在线,检测对方是否在线(3)将聊天内容发送出去(4)在本地即时聊天内容显示的编辑框中添加发送的内容并写入聊天记录。B、接收信息模块聊天模块中,接收
3、信息模块的实现过程有下面几个步骤:(1)由主界面判断接收到信息的类型,是否为好友发来信息,如果是,则打开聊天窗口(2)读取消息,并写入聊天记录,(3)载入字体颜色信息。(4)显示聊天记录C、聊天记录管理模块聊天记录管理模块的实现过程有下面几个步骤:(1)将发送内容和接收内容写入文本文件;(2)显示聊天记录;(3)删除聊天记录。D、字体颜色模块实现字体颜色模块的过程有下面几个步骤:(1)调用系统字体,获取字体,写入存档(2)调用系统字体颜色,获取颜色,写入存档(3)读取、更新字体颜色。学习好帮手......让我们先看下运行结果:Windows7Windows2003Windows7
4、Windows2003学习好帮手......Windows7Windows2003Windows7学习好帮手......Windows2003心动了么?让我们开始对第一个模块,也就是MainBord的设计吧。一、MainBord模块新建一个MainBord工程学习好帮手......选择Dialogbased,然后Finsh二、界面设计如下:(一)、MainBord界面设计如下:学习好帮手......将各ID值设置如下图,通过类向导添加listbox成员变量(二)、添加好友对话框界面设计如下:学习好帮手......双击,添加类将各ID值设置如下图,通过类向导添加成员变量学习好帮手.
5、.....(三)、弹出菜单界面设计如下:学习好帮手......(四)添加图标三、代码部分:(一)准备部分首先,在StdAfx.h中添加如下代码:afxsock.h头文件;在MainBordDlg.cpp添加Message.h、AddFreind.h;其次,MainBordDlg.h添加如下代码:#defineWM_CLIENT_ACCEPTWM_USER+101#defineWM_CLIENT_READCLOSEWM_USER+102//////////////////////////////////////////////////////////////////////////
6、/////CMainBordDlgdialog//Constructionpublic:intTrayAddIcon();charlpszTipBefore[100];//修改前的图标提示信息LRESULTOnAccept(WPARAMwParam,LPARAMlParam);LRESULTOnRead(WPARAMwParam,LPARAMlParam);CMainBordDlg(CWnd*pParent=NULL);//standardconstructorSOCKETClient;//客户的连接请求SOCKETServerSocket;//SOCKETSOCKETtempS
7、ocket;SOCKADDR_INtempSocketAddr;SOCKADDR_INm_sockServerAddr;//SOCKET结构BOOLIsTrue;CStringip;学习好帮手......CStringSystemMessage;voidSendMsg();CStringIPName;CStringHostName;voidGetIP_Name();voidSelectWay();//好友列表structFriendList{charname[100];charI
此文档下载收益归作者所有