資源簡介
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個文件信息
評論
共有 條評論