资源简介
MFC自绘CListCtrl实现漂亮聊天列表
代码片段和文件信息
/************************************************************************
* 程序名: 精仿QQ主界面
* 制作人: 李克平 2011年04月11日
* 版本号: 1.0
************************************************************************/
// EnBitmap.cpp: implementation of the CEnBitmap class.
//
//////////////////////////////////////////////////////////////////////
#include “stdafx.h“
#include “EnBitmap.h“
#include
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
const int HIMETRIC_INCH = 2540;
enum
{
FT_BMP
FT_ICO
FT_JPG
FT_GIF
FT_UNKNOWN
};
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
CEnBitmap::CEnBitmap()
{
}
CEnBitmap::~CEnBitmap()
{
}
BOOL CEnBitmap::LoadImage(UINT uIDRes LPCTSTR szResourceType HMODULE hInst COLORREF crBack)
{
ASSERT(m_hobject == NULL); // only attach once detach on destroy
if (m_hobject != NULL)
return FALSE;
return Attach(LoadImageResource(uIDRes szResourceType hInst crBack));
}
BOOL CEnBitmap::LoadImage(LPCTSTR szImagePath COLORREF crBack)
{
//如果原先存在就去除
if (m_hobject != NULL)
{
Deleteobject();
Detach();
}
return Attach(LoadImageFile(szImagePath crBack));
}
HBITMAP CEnBitmap::LoadImageFile(LPCTSTR szImagePath COLORREF crBack)
{
int nType = GetFileType(szImagePath);
switch (nType)
{
// the reason for this is that i suspect it is more efficient to load
// bmps this way since it avoids creating device contexts etc that the
// IPicture methods requires. that method however is still valuable
// since it handles other image types and transparency
case FT_BMP:
return (HBITMAP)::LoadImage(NULL szImagePath IMAGE_BITMAP 0 0 LR_LOADFROMFILE);
case FT_UNKNOWN:
return NULL;
default: // all the rest
{
USES_CONVERSION;
IPicture* pPicture = NULL;
HBITMAP hbm = NULL;
HRESULT hr = OleLoadPicturePath(T2OLE(szImagePath) NULL 0 crBack IID_IPicture (LPVOID *)&pPicture);
if (pPicture)
{
hbm = ExtractBitmap(pPicture crBack);
pPicture->Release();
}
return hbm;
}
}
return NULL; // can‘t get here
}
HBITMAP CEnBitmap::LoadImageResource(UINT uIDRes LPCTSTR szResourceType HMODULE hInst COLORREF crBack)
{
BYTE* pBuff = NULL;
int nSize = 0;
HBITMAP hbm = NULL;
// first call is to get buffer size
if (GetResource(MAKEINTRESOURCE(uIDRes) szResourceType hInst 0 nSize))
{
if (nSize > 0)
{
pBuff = new BYTE[nSize];
// this loads it
if (GetResource(MAKEINTRESOURCE(uIDRes) szResourceType hInst pBuff nSize))
{
IPicture* pPicture = LoadFromBuffer(pBuff nSize);
if (pPicture)
{
hbm = ExtractBitmap(pPicture crBack);
pPicture->Release();
}
}
delete [] pBuff;
}
}
r
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 36989 2011-04-11 14:45 FriendsListView\FriendsListView\EnBitmap.cpp
文件 2883 2011-04-11 14:45 FriendsListView\FriendsListView\EnBitmap.h
文件 13441 2016-01-05 13:28 FriendsListView\FriendsListView\ExtListCtrl.cpp
文件 3571 2016-01-05 13:14 FriendsListView\FriendsListView\ExtListCtrl.h
文件 110508 2015-12-31 17:19 FriendsListView\FriendsListView\FriendsListView.aps
文件 1770 2015-12-29 06:46 FriendsListView\FriendsListView\FriendsListView.cpp
文件 499 2015-12-29 06:46 FriendsListView\FriendsListView\FriendsListView.h
文件 6840 2015-12-31 17:19 FriendsListView\FriendsListView\FriendsListView.rc
文件 5745 2015-12-29 06:51 FriendsListView\FriendsListView\FriendsListView.vcproj
文件 1417 2015-12-29 07:46 FriendsListView\FriendsListView\FriendsListView.vcproj.chenhui-PC.chenhui.user
文件 7185 2016-01-05 09:48 FriendsListView\FriendsListView\FriendsListView.vcxproj
文件 2829 2016-01-05 09:48 FriendsListView\FriendsListView\FriendsListView.vcxproj.filters
文件 165 2015-12-30 15:49 FriendsListView\FriendsListView\FriendsListView.vcxproj.user
文件 10391 2015-12-31 17:25 FriendsListView\FriendsListView\FriendsListViewDlg.cpp
文件 1362 2015-12-31 17:21 FriendsListView\FriendsListView\FriendsListViewDlg.h
文件 41 2016-01-05 09:47 FriendsListView\FriendsListView\MemDC.cpp
文件 881 2016-01-05 13:18 FriendsListView\FriendsListView\MemDC.h
文件 3013 2015-12-29 06:46 FriendsListView\FriendsListView\ReadMe.txt
文件 67777 2007-11-28 16:21 FriendsListView\FriendsListView\res\FriendsListView.ico
文件 371 2015-12-29 06:46 FriendsListView\FriendsListView\res\FriendsListView.rc2
文件 776 2010-08-03 10:29 FriendsListView\FriendsListView\res\Hscrolled_arrow_left.bmp
文件 776 2010-08-03 10:29 FriendsListView\FriendsListView\res\Hscrolled_arrow_right.bmp
文件 236 2010-08-03 10:29 FriendsListView\FriendsListView\res\Hscrolled_slider_center.bmp
文件 236 2010-08-03 10:29 FriendsListView\FriendsListView\res\Hscrolled_slider_left.bmp
文件 416 2010-08-03 10:29 FriendsListView\FriendsListView\res\Hscrolled_slider_middle.bmp
文件 236 2010-08-03 10:29 FriendsListView\FriendsListView\res\Hscrolled_slider_right.bmp
文件 236 2010-08-03 10:29 FriendsListView\FriendsListView\res\Hscrolled_trough.bmp
文件 776 2010-08-03 10:29 FriendsListView\FriendsListView\res\Vscrolled_arrow_down.bmp
文件 776 2010-08-03 10:29 FriendsListView\FriendsListView\res\Vscrolled_arrow_up_over.bmp
文件 248 2010-08-03 10:29 FriendsListView\FriendsListView\res\Vscrolled_slider_bottom.bmp
............此处省略37个文件信息
- 上一篇:c++做的坦克大战源码
- 下一篇:c++ 课程设计_中国象棋
相关资源
- MFC与坦克大战代码
- VC++酒店客房管理系统 MFC
- MFC实训_超市管理系统
- MFC游戏——看看你能坚持几秒
- VC++编程的第一个MFC工程Hello World
- 面向对象编程MFC综合实验代码
- VS2013 / MFC + OpenCV 2.4.9实现视频的播放
- MFC 精仿QQ主界面无闪烁移动,抽屉
- MFC实现的红绿灯程序
- MFC编程凯撒密码
- MFC制作的飞机大战游戏
- MFC课程设计学生管理系统
- vs2013登录界面mfc
- MFC平台C++语言的小游戏代码
- 基于MFC的图像的拼接系统
- ffmpeg for MFC 1.2 源代码
- windows下的ffmpeg、MFC制作的播放器
- 基于VC++利用MFC做的图书管理系统
- MFC智能停车场管理系统
- VC++用MFC做选课系统
- MFC VC++实现Sierpinski分形图像
- MFC基于对话框的气体浓度检测系统
- 功能强大的多条曲线绘制类 (MFC,
- MFC_带进度条的状态栏
- 用C++写的FTP客户端
- c++编写的十字路口交通灯程序
- 禁忌搜索算法30城市TSP问题C++源代码
- MFC多人聊天室
- MFC深入浅出带目录完整版
- C++实现AES、DES加密算法含MFC界面
评论
共有 条评论