资源简介
MFC重绘CListCtrl的scrollbar,headerctrl和items的代码.用于MFC的UI的设计。
代码片段和文件信息
// SkinHeaderCtrl.cpp : implementation file
//
#include “stdafx.h“
#include “SkinList.h“
#include “SkinHeaderCtrl.h“
#include “memdc.h“
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSkinHeaderCtrl
CSkinHeaderCtrl::CSkinHeaderCtrl()
{
}
CSkinHeaderCtrl::~CSkinHeaderCtrl()
{
}
BEGIN_MESSAGE_MAP(CSkinHeaderCtrl CHeaderCtrl)
//{{AFX_MSG_MAP(CSkinHeaderCtrl)
ON_WM_PAINT()
ON_WM_ERASEBKGND()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSkinHeaderCtrl message handlers
void CSkinHeaderCtrl::DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct)
{
}
void CSkinHeaderCtrl::OnPaint()
{
CPaintDC dc(this); // device context for painting
CRect rect rectItem clientRect;
GetClientRect(&rect);
GetClientRect(&clientRect);
CMemDC memDC(&dc rect);
CDC bitmapDC;
bitmapDC.CreateCompatibleDC(&dc);
memDC.FillSolidRect(&rect RGB(7685118));
CBitmap bitmapSpan;
bitmapSpan.LoadBitmap(IDB_COLUMNHEADER_SPAN);
CBitmap* pOldBitmapSpan = bitmapDC.Selectobject(&bitmapSpan);
for(int v=0; v {
memDC.BitBlt((rect.left+2)+(v*1) 0 1 12 &bitmapDC00SRCCOPY);
}
bitmapDC.Selectobject(pOldBitmapSpan);
bitmapSpan.Deleteobject();
int nItems = GetItemCount();
CBitmap bitmap;
CBitmap bitmap2;
CBitmap bitmap3;
bitmap.LoadBitmap(IDB_COLUMNHEADER_START);
bitmap2.LoadBitmap(IDB_COLUMNHEADER_SPAN);
bitmap3.LoadBitmap(IDB_COLUMNHEADER_END);
for(int i = 0; i {
TCHAR buf1[256];
HD_ITEM hditem1;
hditem1.mask = HDI_TEXT | HDI_FORMAT | HDI_ORDER;
hditem1.pszText = buf1;
hditem1.cchTextMax = 255;
GetItem( i &hditem1 );
GetItemRect(i &rect);
CBitmap* pOldBitmap = NULL;
//make sure we draw the start piece
//on the first item so it has a left border
//For the following items we will just use the
//right border of the previous items as the left
//border
if(hditem1.iOrder==0)
{
pOldBitmap = bitmapDC.Selectobject(&bitmap);
memDC.BitBlt(rect.leftrect.top212&bitmapDC00SRCCOPY);
}
else
{
memDC.BitBlt(rect.left-1rect.top212&bitmapDC00SRCCOPY);
pOldBitmap = bitmapDC.Selectobject(&bitmap2);
memDC.BitBlt(rect.left+1rect.top112&bitmapDC00SRCCOPY);
}
bitmapDC.Selectobject(pOldBitmap);
//span the bitmap for the width of the column header item
int nWidth = rect.Width() - 4;
CBitmap* pOldBitmap2 = bitmapDC.Selectobject(&bitmap2);
for(int v=0; v {
memDC.BitBlt((rect.left+2)+(v*1) 0 1 12 &bitmapDC00SRCCOPY);
}
bitmapDC.Selectobject(pOldBitmap2);
//draw the end piece of the column header
CBitmap* pOldBitmap3 = bitmapDC.Selectobject(&bitmap3);
memDC.BitBlt((rect.right
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2003-08-14 21:39 SkinList_demo\SkinListDone\
文件 1087 1999-11-14 20:04 SkinList_demo\SkinListDone\MEMDC.H
文件 3615 2003-07-01 00:01 SkinList_demo\SkinListDone\ReadMe.txt
目录 0 2003-08-14 19:14 SkinList_demo\SkinListDone\res\
文件 150 2003-07-01 00:08 SkinList_demo\SkinListDone\res\ColumnHeaderEnd.bmp
文件 102 2003-07-01 00:08 SkinList_demo\SkinListDone\res\ColumnHeaderSpan.bmp
文件 150 2003-07-01 00:08 SkinList_demo\SkinListDone\res\ColumnHeaderStart.bmp
文件 1014 2003-07-08 20:16 SkinList_demo\SkinListDone\res\HorizontalScrollBarLeftArrow.bmp
文件 1014 2003-07-08 20:16 SkinList_demo\SkinListDone\res\HorizontalScrollBarRightArrow.bmp
文件 102 2003-07-08 20:16 SkinList_demo\SkinListDone\res\HorizontalScrollBarSpan.bmp
文件 1014 2003-07-25 11:23 SkinList_demo\SkinListDone\res\HorizontalScrollBarThumb.bmp
文件 70 2003-07-24 19:11 SkinList_demo\SkinListDone\res\ListCtrl_Tile.bmp
文件 1078 2003-07-01 00:01 SkinList_demo\SkinListDone\res\SkinList.ico
文件 400 2003-07-01 00:01 SkinList_demo\SkinListDone\res\SkinList.rc2
文件 450 2003-07-25 09:25 SkinList_demo\SkinListDone\res\VerticleScrollbarBottom.bmp
文件 990 2003-07-16 20:19 SkinList_demo\SkinListDone\res\VerticleScrollBarDownArrow.bmp
文件 90 2003-07-16 20:19 SkinList_demo\SkinListDone\res\VerticleScrollBarSpan.bmp
文件 990 2003-07-25 07:28 SkinList_demo\SkinListDone\res\VerticleScrollBarThumb.bmp
文件 450 2003-07-24 20:48 SkinList_demo\SkinListDone\res\VerticleScrollbarTop.bmp
文件 990 2003-07-16 20:19 SkinList_demo\SkinListDone\res\VerticleScrollBarUpArrow.bmp
文件 1645 2003-07-25 11:23 SkinList_demo\SkinListDone\resource.h
文件 4292 2003-08-14 19:20 SkinList_demo\SkinListDone\SkinHeaderCtrl.cpp
文件 1261 2003-07-16 16:57 SkinList_demo\SkinListDone\SkinHeaderCtrl.h
文件 6872 2003-07-27 14:26 SkinList_demo\SkinListDone\SkinHorizontalScrollbar.cpp
文件 1809 2003-07-26 17:03 SkinList_demo\SkinListDone\SkinHorizontalScrollbar.h
文件 48732 2003-08-14 19:42 SkinList_demo\SkinListDone\SkinList.aps
文件 2672 2003-08-14 21:37 SkinList_demo\SkinListDone\SkinList.clw
文件 2093 2003-08-14 19:18 SkinList_demo\SkinListDone\SkinList.cpp
文件 6435 2003-07-24 21:37 SkinList_demo\SkinListDone\SkinList.dsp
文件 541 2003-07-23 23:10 SkinList_demo\SkinListDone\SkinList.dsw
文件 1346 2003-07-01 00:01 SkinList_demo\SkinListDone\SkinList.h
............此处省略14个文件信息
- 上一篇:mfc渐变进度条
- 下一篇:c语言程序设计关于教师工作量管理系统
相关资源
- mfc渐变进度条
- MFC实现K均值算法
- MFC中嵌入显示opencv图像
- MFC的CheckBox自绘类
- MFC 状态栏进度条
- vs mfc opengl配置教程
- vc++基于MFC实现多媒体播放器源码
- MFC实现的操作系统页面置换FIFO、LRU、
- VC++ 实现定时关机或休眠-MFC 对话框应
- mfc 用对话框打开并读取txt文件的小程
- mfc界面程序入门项目——整合sqlite3数
- MFC特强大CListCtrlEx支持插入控件、设置
- CGridListCtrlEx源码vc++
- Horiba MFC数字通信协议
- C++ Builder DLL
- MFC CheckBox 自绘实现
- 基于QtQuick的QCustomPlot实现
- mfcc源代码
- MFCC的详细介绍PPT
- DDKWizard 安装包及ddkbuild_cmdddkbuild_bat(
- 基于MFC的串口编程,实现两个计算机
- SMTP客户端程序(mfc实现)
- DES五种加密模式(MFC实现) 源码
- 画图程序最新版 MFC/VC/VC++ 很多功能哦
- C++课设MFC实现人员信息管理系统
- GUIBuilder_V530.rar
- MFC人事管理系统工程文件
- Arduino小车的程序c++/c可以实现红外对
- 仿雷电射击游戏基于VC++MFC
- MFC连接SqlServer数据库,并将查询的数
评论
共有 条评论