VC6.0MFC聊天室


聊天室 好友聊天 共享屏幕 白板画画 发送文件,MFC,环境VC6.0
资源截图
代码片段和文件信息
// 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

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-03-29 20:27  VC6.0MFC聊天室
     目录           0  2014-06-20 12:51  VC6.0MFC聊天室InstantMessaging
     文件        5799  2011-02-08 00:23  VC6.0MFC聊天室InstantMessagingAdvButton.cpp
     文件        2098  2011-02-08 00:15  VC6.0MFC聊天室InstantMessagingAdvButton.h
     文件         708  2011-01-30 11:51  VC6.0MFC聊天室InstantMessagingAdvComboBox.cpp
     文件        1176  2011-01-30 11:51  VC6.0MFC聊天室InstantMessagingAdvComboBox.h
     文件       10660  2011-02-27 17:57  VC6.0MFC聊天室InstantMessagingCanvasStatic.cpp
     文件        2546  2011-02-20 18:32  VC6.0MFC聊天室InstantMessagingCanvasStatic.h
     文件        5798  2011-02-28 21:39  VC6.0MFC聊天室InstantMessagingChatDlg.cpp
     文件        1979  2011-02-14 10:17  VC6.0MFC聊天室InstantMessagingChatDlg.h
     文件       13135  2011-02-27 16:22  VC6.0MFC聊天室InstantMessagingChatRoomClientDlg.cpp
     文件        2582  2011-02-27 16:20  VC6.0MFC聊天室InstantMessagingChatRoomClientDlg.h
     文件        1100  2011-02-09 23:46  VC6.0MFC聊天室InstantMessagingChatRoomClientSocket.cpp
     文件        1477  2011-02-09 23:45  VC6.0MFC聊天室InstantMessagingChatRoomClientSocket.h
     文件       17636  2011-02-27 15:25  VC6.0MFC聊天室InstantMessagingChatRoomServerDlg.cpp
     文件        2698  2011-02-27 15:14  VC6.0MFC聊天室InstantMessagingChatRoomServerDlg.h
     文件        1100  2011-02-09 22:31  VC6.0MFC聊天室InstantMessagingChatRoomServerSocket.cpp
     文件        1477  2011-02-09 22:29  VC6.0MFC聊天室InstantMessagingChatRoomServerSocket.h
     目录           0  2018-03-29 20:22  VC6.0MFC聊天室InstantMessagingDebug
     目录           0  2018-03-29 20:22  VC6.0MFC聊天室InstantMessagingDebug.vs
     目录           0  2018-03-29 20:22  VC6.0MFC聊天室InstantMessagingDebug.vsInstantMessaging
     目录           0  2018-03-29 20:22  VC6.0MFC聊天室InstantMessagingDebug.vsInstantMessagingv14
     文件        5120  2018-03-29 20:22  VC6.0MFC聊天室InstantMessagingDebug.vsInstantMessagingv14.suo
     文件     2457671  2011-05-13 08:18  VC6.0MFC聊天室InstantMessagingDebugInstantMessaging.exe
     文件      212240  1998-06-24 00:00  VC6.0MFC聊天室InstantMessagingDebugRICHTX32.OCX
     文件        7476  2010-11-08 15:32  VC6.0MFC聊天室InstantMessagingDebugaudio.wav
     文件         269  2018-03-29 20:20  VC6.0MFC聊天室InstantMessagingDebugconf.ini
     文件        9220  2010-11-08 15:32  VC6.0MFC聊天室InstantMessagingDebugmsg.wav
     文件       24637  2010-05-12 10:12  VC6.0MFC聊天室InstantMessagingDebugsendfilecomplete.wav
     文件      100352  2010-07-19 00:22  VC6.0MFC聊天室InstantMessagingDebugzlib1.dll
     文件         785  2011-02-25 23:22  VC6.0MFC聊天室InstantMessagingDebug.cpp
............此处省略263个文件信息

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。

发表评论

评论列表(条)