资源简介
聊天室 好友聊天 共享屏幕 白板画画 发送文件,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聊天室\InstantMessaging\AdvButton.cpp
文件 2098 2011-02-08 00:15 VC6.0MFC聊天室\InstantMessaging\AdvButton.h
文件 708 2011-01-30 11:51 VC6.0MFC聊天室\InstantMessaging\AdvComboBox.cpp
文件 1176 2011-01-30 11:51 VC6.0MFC聊天室\InstantMessaging\AdvComboBox.h
文件 10660 2011-02-27 17:57 VC6.0MFC聊天室\InstantMessaging\CanvasStatic.cpp
文件 2546 2011-02-20 18:32 VC6.0MFC聊天室\InstantMessaging\CanvasStatic.h
文件 5798 2011-02-28 21:39 VC6.0MFC聊天室\InstantMessaging\ChatDlg.cpp
文件 1979 2011-02-14 10:17 VC6.0MFC聊天室\InstantMessaging\ChatDlg.h
文件 13135 2011-02-27 16:22 VC6.0MFC聊天室\InstantMessaging\ChatRoomClientDlg.cpp
文件 2582 2011-02-27 16:20 VC6.0MFC聊天室\InstantMessaging\ChatRoomClientDlg.h
文件 1100 2011-02-09 23:46 VC6.0MFC聊天室\InstantMessaging\ChatRoomClientSocket.cpp
文件 1477 2011-02-09 23:45 VC6.0MFC聊天室\InstantMessaging\ChatRoomClientSocket.h
文件 17636 2011-02-27 15:25 VC6.0MFC聊天室\InstantMessaging\ChatRoomServerDlg.cpp
文件 2698 2011-02-27 15:14 VC6.0MFC聊天室\InstantMessaging\ChatRoomServerDlg.h
文件 1100 2011-02-09 22:31 VC6.0MFC聊天室\InstantMessaging\ChatRoomServerSocket.cpp
文件 1477 2011-02-09 22:29 VC6.0MFC聊天室\InstantMessaging\ChatRoomServerSocket.h
目录 0 2018-03-29 20:22 VC6.0MFC聊天室\InstantMessaging\Debug\
目录 0 2018-03-29 20:22 VC6.0MFC聊天室\InstantMessaging\Debug\.vs\
目录 0 2018-03-29 20:22 VC6.0MFC聊天室\InstantMessaging\Debug\.vs\InstantMessaging\
目录 0 2018-03-29 20:22 VC6.0MFC聊天室\InstantMessaging\Debug\.vs\InstantMessaging\v14\
文件 5120 2018-03-29 20:22 VC6.0MFC聊天室\InstantMessaging\Debug\.vs\InstantMessaging\v14\.suo
文件 2457671 2011-05-13 08:18 VC6.0MFC聊天室\InstantMessaging\Debug\InstantMessaging.exe
文件 212240 1998-06-24 00:00 VC6.0MFC聊天室\InstantMessaging\Debug\RICHTX32.OCX
文件 7476 2010-11-08 15:32 VC6.0MFC聊天室\InstantMessaging\Debug\audio.wav
文件 269 2018-03-29 20:20 VC6.0MFC聊天室\InstantMessaging\Debug\conf.ini
文件 9220 2010-11-08 15:32 VC6.0MFC聊天室\InstantMessaging\Debug\msg.wav
文件 24637 2010-05-12 10:12 VC6.0MFC聊天室\InstantMessaging\Debug\sendfilecomplete.wav
文件 100352 2010-07-19 00:22 VC6.0MFC聊天室\InstantMessaging\Debug\zlib1.dll
文件 785 2011-02-25 23:22 VC6.0MFC聊天室\InstantMessaging\Debug.cpp
............此处省略263个文件信息
- 上一篇:清华郑莉C++讲稿
- 下一篇:航空管理系统源代码c++
相关资源
- MFC/C++画柱状图及饼状图
- MFC写的八皇后演示程序
- 函数图像生成器&利用CPU画曲线
- VC开发MFC商品销售管理系统完美版
- mfc工资管理系统.rar
- hermite曲线,MFC实现
- MFC编程-基于对话框的ODBC数据库访问
- 直线段的裁剪 vc++ MFC
- MFC单文档文本编辑器
- 数字图像处理——MFC实现DICOM图像打开
- MFC音乐播放
- 工资管理系统 mfc c++
- 图书馆管理系统 c++ mfc
- MFC课程设计 --学生成绩管理系统
- 基于MFC的FTP客户端demo
- VC画正弦函数曲线带参数设置
- matlab算法实现声纹识别,带界面
- 基于C++MFC的聊天程序,C/S模式
- MFC ListControl使用
- 21点游戏MFC程序设计 c++课程设计
- MFC 多线程.7z
- mfc编写的像素鸟flappy bird 小游戏-FP_
- ethercat电机mfc简单连接程序
- VC++窗口和控件自适应屏幕尺寸改.ra
- mfc 画多个矩形框,可选中任意一个移
- MFC属性表单
- MFC框架 网络版五子棋 包含游戏大厅
- MFC读取RTSP视频流
- mfc制作的圆形时钟
- 五子棋大作业源码 .zip
评论
共有 条评论