资源简介
VC++写的聊天室程序
实现了如下功能:
1. 用户注册账号
2. 用户注册时可以验证账号是否可用
3. 用户需要有效用户名和密码才能登陆服务器
4. 多人登陆到服务器同时聊天
5. 用户进入退出聊天室时其他的用户都得到通知
6. 服务器实时更新在线用户名单
7. 用户之间可以私聊
8. 支持抖动窗口的发送
9. 服务器可以踢出某个用户
10. 服务器可以关闭某个用户的计算机

代码片段和文件信息
#include “stdafx.h“
#include “BtnST.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CButtonST
// Mask for control‘s type
#define BS_TYPEMASK SS_TYPEMASK
CButtonST::CButtonST()
{
m_bIsPressed = FALSE;
m_bIsFocused = FALSE;
m_bIsDisabled = FALSE;
m_bMouseOnButton = FALSE;
FreeResources(FALSE);
// Default type is “flat“ button
m_bIsFlat = TRUE;
// Button will be tracked also if when the window is inactive (like Internet Explorer)
m_bAlwaysTrack = TRUE;
// By default draw border in “flat“ button
m_bDrawBorder = TRUE;
// By default icon is aligned horizontally
m_byAlign = ST_ALIGN_HORIZ;
// By default for “flat“ button don‘t draw the focus rect
m_bDrawFlatFocus = FALSE;
// By default the button is not the default button
m_bIsDefault = FALSE;
// Invalid value since type still unknown
m_nTypestyle = BS_TYPEMASK;
// By default the button is not a checkbox
m_bIsCheckBox = FALSE;
m_nCheck = 0;
// Set default colors
SetDefaultColors(FALSE);
// No tooltip created
m_ToolTip.m_hWnd = NULL;
// Do not draw as a transparent button
m_bDrawTransparent = FALSE;
m_pbmpOldBk = NULL;
// No URL defined
SetURL(NULL);
// No cursor defined
m_hCursor = NULL;
// No associated menu
#ifndef BTNST_USE_BCMENU
m_hMenu = NULL;
#endif
m_hParentWndMenu = NULL;
m_bMenuDisplayed = FALSE;
m_bShowDisabledBitmap = TRUE;
} // End of CButtonST
CButtonST::~CButtonST()
{
// Restore old bitmap (if any)
if (m_dcBk.m_hDC && m_pbmpOldBk)
{
m_dcBk.Selectobject(m_pbmpOldBk);
} // if
FreeResources();
// Destroy the cursor (if any)
if (m_hCursor) ::DestroyCursor(m_hCursor);
// Destroy the menu (if any)
#ifdef BTNST_USE_BCMENU
if (m_menuPopup.m_hMenu) m_menuPopup.DestroyMenu();
#else
if (m_hMenu) ::DestroyMenu(m_hMenu);
#endif
} // End of ~CButtonST
BEGIN_MESSAGE_MAP(CButtonST CButton)
//{{AFX_MSG_MAP(CButtonST)
ON_WM_SETCURSOR()
ON_WM_KILLFOCUS()
ON_WM_MOUSEMOVE()
ON_WM_SYSCOLORCHANGE()
ON_CONTROL_REFLECT_EX(BN_CLICKED onclicked)
ON_WM_ACTIVATE()
ON_WM_ENABLE()
ON_WM_CANCELMODE()
ON_WM_GETDLGCODE()
ON_WM_CTLCOLOR_REFLECT()
//}}AFX_MSG_MAP
#ifdef BTNST_USE_BCMENU
ON_WM_MENUCHAR()
ON_WM_MEASUREITEM()
#endif
ON_MESSAGE(BM_SETstyle OnSetstyle)
ON_MESSAGE(WM_MOUSELEAVE onmouseleave)
ON_MESSAGE(BM_SETCHECK OnSetCheck)
ON_MESSAGE(BM_GETCHECK OnGetCheck)
END_MESSAGE_MAP()
void CButtonST::FreeResources(BOOL bCheckForNULL)
{
if (bCheckForNULL)
{
// Destroy icons
// Note: the following two lines MUST be here! even if
// BoundChecker says they are unnecessary!
if (m_csIcons[0].hIcon) ::DestroyIcon(m_csIcons[0].hIcon);
if (m_csIcons[1].hIcon) ::DestroyIcon(m_csIcons[1].hIcon);
// Destroy bitmaps
if (m_csBitmaps[0].hBitmap) :
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 52061 2002-04-17 18:34 VC+++聊天室程序设计\ChatRoom2.0\Client\BtnST.cpp
文件 8400 2010-03-09 22:38 VC+++聊天室程序设计\ChatRoom2.0\Client\BtnST.h
文件 3915 2010-04-02 20:05 VC+++聊天室程序设计\ChatRoom2.0\Client\Buffer.cpp
文件 716 2010-04-02 19:59 VC+++聊天室程序设计\ChatRoom2.0\Client\Buffer.h
文件 57088 2010-05-31 23:39 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.aps
文件 2469 2010-05-28 17:55 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.cpp
文件 589 2010-05-28 15:57 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.h
文件 9600 2010-05-31 23:39 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.rc
文件 2560 2010-05-04 13:20 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.suo
文件 7317 2010-04-09 19:42 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.vcproj
文件 1417 2010-04-15 23:43 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.vcproj.Walking-PC.Walking.user
文件 8998 2010-05-29 23:10 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.vcxproj
文件 4563 2010-05-29 23:10 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.vcxproj.filters
文件 143 2010-04-18 21:32 VC+++聊天室程序设计\ChatRoom2.0\Client\Client.vcxproj.user
文件 17268 2010-05-29 22:32 VC+++聊天室程序设计\ChatRoom2.0\Client\ClientDlg.cpp
文件 1692 2010-05-29 22:38 VC+++聊天室程序设计\ChatRoom2.0\Client\ClientDlg.h
文件 4592 2010-05-30 16:11 VC+++聊天室程序设计\ChatRoom2.0\Client\CLientMsg.cpp
文件 609 2010-05-30 16:11 VC+++聊天室程序设计\ChatRoom2.0\Client\CLientMsg.h
文件 1487 2010-05-30 16:23 VC+++聊天室程序设计\ChatRoom2.0\Client\ClientSocket.cpp
文件 243 2010-05-30 07:59 VC+++聊天室程序设计\ChatRoom2.0\Client\ClientSocket.h
文件 1297 2010-04-04 15:43 VC+++聊天室程序设计\ChatRoom2.0\Client\ConnectDlg.cpp
文件 612 2010-04-04 15:43 VC+++聊天室程序设计\ChatRoom2.0\Client\ConnectDlg.h
文件 6969 2010-06-06 10:52 VC+++聊天室程序设计\ChatRoom2.0\Client\HandleMsg.cpp
文件 1597 2010-06-01 11:51 VC+++聊天室程序设计\ChatRoom2.0\Client\HandleMsg.h
文件 2996 2010-05-30 08:55 VC+++聊天室程序设计\ChatRoom2.0\Client\LoginDlg.cpp
文件 765 2010-05-29 23:31 VC+++聊天室程序设计\ChatRoom2.0\Client\LoginDlg.h
文件 2853 2010-05-28 17:51 VC+++聊天室程序设计\ChatRoom2.0\Client\MsgFactory.cpp
文件 1281 2010-05-30 16:11 VC+++聊天室程序设计\ChatRoom2.0\Client\MsgFactory.h
文件 2851 2010-04-03 12:38 VC+++聊天室程序设计\ChatRoom2.0\Client\ReadMe.txt
文件 4966 2010-05-31 23:13 VC+++聊天室程序设计\ChatRoom2.0\Client\Register.cpp
............此处省略70个文件信息
相关资源
- 简单的C语言点对点聊天程序
- 文件传输和聊天程序(c语言实现)
- Qt TCP聊天室demo
- 自绘CListCtrl聊天列表MFC
- MFC多人聊天室
- Windows+C语言构建网络聊天室内含源程
- MFC聊天室含源代码.rar
- 用MFC实现的简单qq聊天
- P2P 聊天室 c++ 版本 附详细文档
- 基于c++和winsocket的局域网聊天源代码
- VC++,CSocket实现网络聊天,可发文件,
- vc++课程设计——聊天室
- Socket编写的一个基于MFC的聊天程序源
- 聊天软件,用套接字编写,完整代码
- MFC视频聊天
- mfc聊天程序 网络编程用到的
- 用C++实现的聊天程序
- 基于UDP的简单可视化界面聊天程序c
- C++做的一个聊天室程序
- 基于TCP/IP socket的局域网聊天系统
- vc-基于MFC编程,使用TCP/IP模型编写
- 基于linux C/C++和Qt的聊天程序
- c++实现语音聊天室
- 计算机网络实验设计---基于TCP的网络
- 基于TCP协议VC++6.0实现的聊天程序
- C++多线程网络聊天程序
- c++源代码 一款类似QQ聊天的IM聊天软件
- Linux+gladeGTK++C语言+mysql的模仿QQ聊天工
- TCP/IP实现 简易聊天室 C++
- 自己编写的C++基于socket编程的UDP聊天
评论
共有 条评论