資源簡介
VC++6.0+MFC做畢設做的網絡聊天具(服務端和客戶端),包括:
0.普通聊天(文字、圖片)
1.聊天室
2.傳輸文件(斷點續傳)
3.共享屏幕
4.白板
5.視頻、音頻聊天

代碼片段和文件信息
//?AdvButton.cpp?:?implementation?file
//
#include?“stdafx.h“
#include?“instantmessaging.h“
#include?“AdvButton.h“
#ifdef?_DEBUG
#define?new?DEBUG_NEW
#undef?THIS_FILE
static?char?THIS_FILE[]?=?__FILE__;
#endif
#define?NORMAL 1 ///?處于正常狀態
#define?HOVER 2 ///?處于焦點狀態
#define?DOWN 3 ///?處于按下狀態
#define?DISABLE 4 ///?處于無效狀態
#define?TRANSPARENTCOLOR RGB(?255?0?255?) ///?定義透明位圖的RGB值
#pragma?comment(?lib?“C:\\Program?Files\\Microsoft?Visual?Studio\\VC98\\Lib\\MSIMG32.LIB“?)
/////////////////////////////////////////////////////////////////////////////
//?CAdvButton
static?BOOL?bTrackLeave?=?FALSE;
CAdvButton::CAdvButton()
{
m_nState?=?NORMAL;
}
CAdvButton::~CAdvButton()
{
DeleteBmp();
}
BEGIN_MESSAGE_MAP(CAdvButton?CButton)
//{{AFX_MSG_MAP(CAdvButton)
ON_WM_MOUSEMOVE()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
ON_MESSAGE(?WM_MOUSELEAVE?onmouseleave?)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
//?CAdvButton?message?handlers
void?CAdvButton::PreSubclassWindow()?
{
Modifystyle(?0?BS_OWNERDRAW?);
CButton::PreSubclassWindow();
m_pToolTipCtrl.Create(?this?TTS_ALWAYSTIP?);
m_pToolTipCtrl.SetDelayTime(?100?);
CString?strText;
GetWindowText(?strText?);
m_pToolTipCtrl.AddTool(?this?strText?);?
}
void?CAdvButton::onmousemove(UINT?nFlags?CPoint?point)?
{
if(?!bTrackLeave?)
{
TRACKMOUSEEVENT?tme;
tme.cbSize?=?sizeof(?TRACKMOUSEEVENT?);
tme.hwndTrack?=?m_hWnd;
tme.dwFlags?=?TME_LEAVE;
::_TrackMouseEvent(?&tme?);
bTrackLeave?=?TRUE;
m_nState?=?HOVER;
Invalidate();
}
CButton::onmousemove(nFlags?point);
}
void?CAdvButton::onmouseleave(?WPARAM?wParam?LPARAM?lParam?)
{
bTrackLeave?=?FALSE;
m_nState?=?NORMAL;
Invalidate();
}
void?CAdvButton::OnLButtonDown(UINT?nFlags?CPoint?point)?
{
m_nState?=?DOWN;
Invalidate();
CButton::OnLButtonDown(nFlags?point);
}
void?CAdvButton::OnLButtonUp(UINT?nFlags?CPoint?point)?
{
m_nState?=?HOVER;
Invalidate();
CButton::OnLButtonUp(nFlags?point);
}
void?CAdvButton::DrawItem(LPDRAWITEMSTRUCT?lpDrawItemStruct)?
{
if(?lpDrawItemStruct->itemState?&?ODS_DISABLED?)
{
m_nState?=?DISABLE;
}
switch(?m_nState?)
{
case?NORMAL:
DrawNORMAL();
break;
case?HOVER:
DrawHOVER();
break;
case?DOWN:
DrawDOWN();
break;
case?DISABLE:
DrawDISABLE();
break;
default:
break;
}
}
void?CAdvButton::DrawNORMAL()
{
CDC?*pDC?=?GetDC();
BITMAP?bmp;
if(?!m_bmpNormal.m_hobject?)
{
return;
}
m_bmpNormal.GetBitmap(?&bmp?);
SetWindowPos(?NULL?0?0?bmp.bmWidth?bmp.bmHeight?SWP_NOMOVE?|?SWP_NOZORDER);
CDC?dcMem;
dcMem.CreateCompatibleDC(?pDC?);
CBitmap?*pOldBmp;
pOldBmp?=?dcMem.Selectobject(?&m_bmpNormal?);
pOldBmp->Deleteobject();
TransparentBlt(?pDC->m_hDC?0?0?bmp.bmWidth?bmp.bmHeight?
dcMem.m_hDC?0?0?bmp
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5799??2011-02-08?00:23??Messaging\AdvButton.cpp
?????文件???????2098??2011-02-08?00:15??Messaging\AdvButton.h
?????文件????????708??2011-01-30?11:51??Messaging\AdvComboBox.cpp
?????文件???????1176??2011-01-30?11:51??Messaging\AdvComboBox.h
?????文件??????10660??2011-02-27?17:57??Messaging\CanvasStatic.cpp
?????文件???????2546??2011-02-20?18:32??Messaging\CanvasStatic.h
?????文件???????5798??2011-02-28?21:39??Messaging\ChatDlg.cpp
?????文件???????1979??2011-02-14?10:17??Messaging\ChatDlg.h
?????文件??????13135??2011-02-27?16:22??Messaging\ChatRoomClientDlg.cpp
?????文件???????2582??2011-02-27?16:20??Messaging\ChatRoomClientDlg.h
?????文件???????1100??2011-02-09?23:46??Messaging\ChatRoomClientSocket.cpp
?????文件???????1477??2011-02-09?23:45??Messaging\ChatRoomClientSocket.h
?????文件??????17636??2011-02-27?15:25??Messaging\ChatRoomServerDlg.cpp
?????文件???????2698??2011-02-27?15:14??Messaging\ChatRoomServerDlg.h
?????文件???????1100??2011-02-09?22:31??Messaging\ChatRoomServerSocket.cpp
?????文件???????1477??2011-02-09?22:29??Messaging\ChatRoomServerSocket.h
?????文件???????7476??2010-11-08?15:32??Messaging\Debug\audio.wav
?????文件????????269??2012-10-25?14:21??Messaging\Debug\conf.ini
?????文件????2457671??2011-05-13?08:18??Messaging\Debug\InstantMessaging.exe
?????文件???????9220??2010-11-08?15:32??Messaging\Debug\msg.wav
?????文件?????212240??1998-06-24?00:00??Messaging\Debug\RICHTX32.OCX
?????文件??????24637??2010-05-12?10:12??Messaging\Debug\sendfilecomplete.wav
?????文件?????100352??2010-07-19?00:22??Messaging\Debug\zlib1.dll
?????文件????????785??2011-02-25?23:22??Messaging\Debug.cpp
?????文件????????567??2011-02-23?23:32??Messaging\Debug.h
?????文件???????3187??2011-05-12?16:34??Messaging\DialogSetting.cpp
?????文件???????1619??2011-02-15?21:27??Messaging\DialogSetting.h
?????文件???????2098??2011-02-12?19:09??Messaging\font.cpp
?????文件???????1461??2011-02-12?19:09??Messaging\font.h
?????文件???????9886??2011-03-02?15:08??Messaging\FriendsListCtrl.cpp
............此處省略262個文件信息
- 上一篇:VS2015 C++操作WebService
- 下一篇:用C語言實現譜減法
評論
共有 條評論