資源簡介
由服務器源碼和客戶端源碼組成,基于TCP/UDP的網絡通訊,實現了用戶上線下線管理,好友管理,基于HTML的聊天室,基本功能和2000年代的OICQ類似,是學習C++網絡編程極好的示例代碼。

代碼片段和文件信息
//?Copyright?(c)?Iuri?Apollonio?1998
//?Use?&?modify?as?you?want?&?need?and?leave?those?4?lines.
//?Strongly?based?on?article?“Inplace?edit?control“?of?Mario?Contestabile?and?“Editable?subitems“?of?Zafir
//?http://www.codeguru.com
//?GfxGroupEdit.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“GfxGroupEdit.h“
#include?“GfxOutBarCtrl.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
//?CGfxGroupEdit
CGfxGroupEdit::CGfxGroupEdit()
{
bEscapeKey?=?FALSE;
iIndex?=?-1;
msgSend?=?NM_OB_ONGROUPENDEDIT;
bNoDown?=?false;
}
CGfxGroupEdit::~CGfxGroupEdit()
{
}
BEGIN_MESSAGE_MAP(CGfxGroupEdit?CEdit)
//{{AFX_MSG_MAP(CGfxGroupEdit)
ON_WM_KILLFOCUS()
ON_WM_CREATE()
ON_WM_CHAR()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?CGfxGroupEdit?message?handlers
void?CGfxGroupEdit::OnKillFocus(CWnd*?pNewWnd)?
{
PostMessage(WM_CLOSE?0?0);
if?(!bEscapeKey)
{
GetWindowText(text);
if?(text?!=?““)?GetOwner()->SendMessage(WM_OUTBAR_NOTIFY?msgSend?(LPARAM)?this);
}
}
BOOL?CGfxGroupEdit::PreTranslateMessage(MSG*?pMsg)?
{
if?(pMsg->wParam?==?VK_RETURN)
{
PostMessage(WM_CLOSE?0?0);
return?TRUE;
}
else?if?(pMsg->wParam?==?VK_ESCAPE)
{
PostMessage(WM_CLOSE?0?0);
return?bEscapeKey?=?TRUE;
}
return?CEdit::PreTranslateMessage(pMsg);
}
void?CGfxGroupEdit::PostNcDestroy()?
{
CEdit::PostNcDestroy();
delete?this;
}
int?CGfxGroupEdit::OnCreate(LPCREATESTRUCT?lpCreateStruct)?
{
if?(CEdit::OnCreate(lpCreateStruct)?==?-1)
return?-1;
SendMessage(WM_SETFONT(WPARAM)?GetStockobject(DEFAULT_GUI_FONT)MAKELPARAM(TRUE0));
return?0;
}
void?CGfxGroupEdit::OnChar(UINT?nChar?UINT?nRepCnt?UINT?nFlags)?
{
if?(msgSend?==?NM_OB_ONGROUPENDEDIT)
{
CEdit::OnChar(nChar?nRepCnt?nFlags);
return;
}
if?(nChar?==?VK_ESCAPE?||?nChar?==?VK_RETURN)
{
if?(nChar?==?VK_ESCAPE)?bEscapeKey?=?TRUE;
GetParent()->SetFocus();
return;
}
CEdit::OnChar(nChar?nRepCnt?nFlags);
CString?str;
CRect?rect?parentrect;
GetClientRect(&rect);
GetParent()->GetClientRect(&parentrect);
ClientToScreen(&rect);
GetParent()->ScreenToClient(&rect);
GetWindowText(str);
CWindowDC?dc(this);
CFont?*pFont?=?GetParent()->GetFont();
CFont?*pFontDC?=?dc.Selectobject(pFont);
CRect?szrc(rect);
szrc.bottom?=?szrc.top;
if?(bNoDown?==?true)
{
dc.DrawText(str?szrc?DT_CALCRECT);
if?(szrc.right?>=?parentrect.right?-?1)?rect.right?=?parentrect.right?-?1;
else?rect.right?=?szrc.right;
MoveWindow(&rect);
return;
}
dc.DrawText(str?szrc?DT_WORDBREAK|DT_CENTER|DT_CALCRECT);
dc.Selectobject(pFontDC);
CSize?size?=?szrc.Size();
if?(size.cx?>?rect.Width())
{
if?(size.cx?+?rect.left?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????25353??2000-04-05?09:08??QICQ\Img_ListView1\10000.DAT
?????文件??????25353??2014-01-02?18:48??QICQ\Img_ListView1\10001.DAT
?????文件??????25353??2000-04-26?08:40??QICQ\Img_ListView1\10002.DAT
?????文件??????25353??2000-04-26?08:41??QICQ\Img_ListView1\10003.DAT
?????文件??????25353??2000-04-26?08:41??QICQ\Img_ListView1\10004.DAT
?????文件??????25353??2000-04-06?11:53??QICQ\Img_ListView1\10005.DAT
?????文件??????25353??2000-04-05?10:39??QICQ\Img_ListView1\10006.DAT
?????文件??????25353??2000-04-04?19:17??QICQ\Img_ListView1\10007.DAT
?????文件??????25353??2000-04-04?16:19??QICQ\Img_ListView1\10008.DAT
?????文件??????25353??2000-04-04?16:19??QICQ\Img_ListView1\34477.DAT
?????文件????????126??1998-07-21?18:00??QICQ\Img_ListView1\AutoBuildCount.h
?????文件???????2098??2000-04-05?08:16??QICQ\Img_ListView1\FONT.CPP
?????文件???????1461??2000-04-05?08:16??QICQ\Img_ListView1\FONT.H
?????文件???????3282??2000-04-03?08:09??QICQ\Img_ListView1\GfxGroupEdit.cpp
?????文件???????1699??1998-07-05?20:06??QICQ\Img_ListView1\GfxGroupEdit.h
?????文件??????61666??2003-05-14?19:45??QICQ\Img_ListView1\GfxOutBarCtrl.cpp
?????文件???????7548??2000-04-04?20:39??QICQ\Img_ListView1\GfxOutBarCtrl.h
?????文件??????15292??2000-04-03?08:09??QICQ\Img_ListView1\GfxPopupMenu.cpp
?????文件???????1750??1998-07-03?22:28??QICQ\Img_ListView1\GfxPopupMenu.h
?????文件??????10782??2000-04-03?08:09??QICQ\Img_ListView1\GfxSplitterWnd.cpp
?????文件???????1115??1998-07-06?12:02??QICQ\Img_ListView1\GfxSplitterWnd.h
?????文件??????68196??2010-11-09?20:28??QICQ\Img_ListView1\Img_ListView1.aps
?????文件???????5657??2014-01-02?20:12??QICQ\Img_ListView1\Img_ListView1.clw
?????文件???????5818??2003-05-16?10:23??QICQ\Img_ListView1\Img_ListView1.cpp
?????文件???????9240??2000-05-09?16:36??QICQ\Img_ListView1\Img_ListView1.dsp
?????文件????????651??2001-10-07?10:03??QICQ\Img_ListView1\Img_ListView1.dsw
?????文件???????1433??2000-04-03?08:26??QICQ\Img_ListView1\Img_ListView1.h
?????文件?????443392??2014-01-02?20:12??QICQ\Img_ListView1\Img_ListView1.ncb
?????文件??????82944??2014-01-02?20:12??QICQ\Img_ListView1\Img_ListView1.opt
?????文件???????5572??2014-01-02?18:47??QICQ\Img_ListView1\Img_ListView1.plg
............此處省略110個文件信息
- 上一篇:用C語言編寫的井字棋小游戲
- 下一篇:獲取系統安裝軟件(vc++源碼)
評論
共有 條評論