资源简介
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个文件信息
相关资源
- Linux+gladeGTK++C语言+mysql的模仿QQ聊天工
- TCP/IP实现 简易聊天室 C++
- 自己编写的C++基于socket编程的UDP聊天
- VC++UDP网络聊天程序
- C++、qt环境下的C/S聊天器
- MFC socket 局域网聊天
- VC++局域网聊天室完整版
- VC++ socket 聊天室客户端
- 仿QQ登陆聊天界面源码C++
- MFC richedit可进行插入图片、表情,有
- C++ Socket 多线程多机聊天
- c语言编程实现聊天程序设计
- C++聊天程序源程序有服务器和客户端
- 基于MFC局域网聊天和文件传送程序
- MFC实现qq聊天
- C++ MFC 编写的聊天室软件源码
- VC++多人聊天室
- 视频聊天软件Visual C++6.0+Socket网络技术
- 计算机网络实验-----基于TCP的网络聊天
- 基于UDP协议的聊天程序 MFC环境下的
- QT实现的聊天界面,好友列表,支持文
- MFC网络聊天工具
- socket编程聊天室C++
- MFC 聊天室 高级
- MFC UDP 聊天
- 基于TCP的网络聊天室的设计一步一步
- C++基于UDP的控制台局域网聊天程序
- mfc写的仿QQ的聊天软件
- vc6.0实现的局域网聊天室MFC+SOCKRT
- MFC TCP/IP 网络 多人聊天室
评论
共有 条评论