大家好,我是 Kacoro,QQ:174626720.一名在校大
三学生.最近课程设计用 vc++6.0 设计了一个伪 qq 程
序,在前人已有的基础上,重新做了一次,而且完善
了许多功能。耗时一周,希望分享给大家,所以写了这
个堪称完整的实例教程。如果有什么建议或者意见,
欢迎到我的百度博客做客指点.
http://hi.baidu.com/kacoro
本系统基于客户端/服务器基本原理,程序即是服务端,也是客户端,通过 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 成员变量
(二)、添加好友对话框界面设计如下: