资源简介
树形listctrl,双击可编辑,右键添加删除,重绘表头,设置表头字体

代码片段和文件信息
// HeaderCtrlCl.cpp : 实现文件
//
#include “stdafx.h“
#include “HeaderCtrlCl.h“
// CHeaderCtrlCl
IMPLEMENT_DYNAMIC(CHeaderCtrlCl CHeaderCtrl)
CHeaderCtrlCl::CHeaderCtrlCl()
: m_R(171)
m_G(199)
m_B(235)
m_Gradient(8)
{
m_Format = ““;
m_Height = 1;
m_fontHeight = 15;
m_fontWith = 0;
m_color = RGB(000);
}
CHeaderCtrlCl::~CHeaderCtrlCl()
{
}
BEGIN_MESSAGE_MAP(CHeaderCtrlCl CHeaderCtrl)
ON_WM_PAINT()
ON_MESSAGE(HDM_LAYOUT OnLayout)
END_MESSAGE_MAP()
// CHeaderCtrlCl 消息处理程序
void CHeaderCtrlCl::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CHeaderCtrl::OnPaint()
int nItem;
nItem = GetItemCount();//得到有几个单元
for(int i = 0; i {
CRect tRect;
GetItemRect(i&tRect);//得到Item的尺寸
int R = m_RG = m_GB = m_B;
CRect nRect(tRect);//拷贝尺寸到新的容器中
nRect.left++;//留出分割线的地方
//绘制立体背景
for(int j = tRect.top;j<=tRect.bottom;j++)
{
nRect.bottom = nRect.top+1;
CBrush _brush;
_brush.CreateSolidBrush(RGB(RGB));//创建画刷
dc.FillRect(&nRect&_brush); //填充背景
_brush.Deleteobject(); //释放画刷
R-=m_Gradient;G-=m_Gradient;B-=m_Gradient;
if (R<0)R = 0;
if (G<0)G = 0;
if (B<0)B= 0;
nRect.top = nRect.bottom;
}
dc.SetBkMode(TRANSPARENT);
CFont nFont * nOldFont;
//dc.SetTextColor(RGB(2505050));
dc.SetTextColor(m_color);
nFont.CreateFont(m_fontHeightm_fontWith000FALSEFALSE000000_TEXT(“宋体“));//创建字体
nOldFont = dc.Selectobject(&nFont);
UINT nFormat = 1;
if (m_Format[i]==‘0‘)
{
nFormat = DT_LEFT;
tRect.left+=3;
}
else if (m_Format[i]==‘1‘)
{
nFormat = DT_CENTER;
}
else if (m_Format[i]==‘2‘)
{
nFormat = DT_RIGHT;
tRect.right-=3;
}
TEXTMETRIC metric;
dc.GetTextMetrics(&metric);
int ofst = 0;
ofst = tRect.Height() - metric.tmHeight;
tRect.OffsetRect(0ofst/2);
dc.DrawText(m_HChar[i]&tRectnFormat);
dc.Selectobject(nOldFont);
nFont.Deleteobject(); //释放字体
}
//画头部剩余部分
CRect rtRect;
CRect clientRect;
GetItemRect(nItem - 1rtRect);
GetClientRect(clientRect);
rtRect.left = rtRect.right+1;
rtRect.right = clientRect.right;
int R = m_RG = m_GB = m_B;
CRect nRect(rtRect);
//绘制立体背景
for(int j = rtRect.top;j<=rtRect.bottom;j++)
{
nRect.bottom = nRect.top+1;
CBrush _brush;
_brush.CreateSolidBrush(RGB(RGB));//创建画刷
dc.FillRect(&nRect&_brush); //填充背景
_brush.Deleteobject(); //释放画刷
R-=m_Gradient;G-=m_Gradient;B-=m_Gradient;
if (R<0)R = 0;
if (G<0)G = 0;
if (B<0)B= 0;
nRect.top = nRect.bottom;
}
}
LRESULT CHeaderCtrlCl::OnLayout( WPARAM wParam LPARAM lParam )
{
LRESULT lResult = CHeaderCtrl::DefWindowProc(HDM_LAYOUT 0 lParam);
HD_LAYOUT &hdl = *( HD_LAYOUT * ) lParam;
RECT *prc = hdl.prc;
WINDOWPOS *pwpos = hdl.pwpos;
//表头高度为原来1.5倍,如果要动态修改表头高度的话,将1.5设成一个全局变量
int nHeight = (int)(pwpos->cy *
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3226 2012-08-09 10:28 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\HeaderCtrlCl.cpp
文件 623 2009-01-15 22:06 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\HeaderCtrlCl.h
文件 3031 2012-08-07 13:55 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\ReadMe.txt
文件 259 2012-08-07 17:27 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\Area.png
文件 634 2012-08-07 17:27 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\center.png
文件 248 2012-08-07 17:27 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\collapse.png
文件 263 2012-08-07 17:27 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\Expand.png
文件 533 2012-08-07 17:27 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\GunCamera.png
文件 3274 2012-08-07 17:27 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\GunCameral_online_play.png
文件 1406 2012-08-07 17:21 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\ico\Area.ico
文件 1150 2012-08-07 17:21 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\ico\center.ico
文件 1150 2012-08-07 17:21 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\ico\GunCameral.ico
文件 67777 2007-11-28 16:21 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\TestTreeListCtrl.ico
文件 372 2012-08-07 13:55 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\res\TestTreeListCtrl.rc2
文件 1010 2012-08-09 10:57 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\resource.h
文件 149 2012-08-07 13:55 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\stdafx.cpp
文件 1932 2012-08-07 17:09 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\stdafx.h
文件 1030 2012-08-07 13:55 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\targetver.h
文件 109496 2012-08-09 10:57 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TestTreeListCtrl.aps
文件 1783 2012-08-07 13:55 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TestTreeListCtrl.cpp
文件 505 2012-08-07 14:02 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TestTreeListCtrl.h
文件 5168 2012-08-09 10:57 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TestTreeListCtrl.rc
文件 6531 2012-08-09 11:21 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TestTreeListCtrl.vcproj
文件 1427 2012-08-09 16:32 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TestTreeListCtrl.vcproj.XP-201105261425.Administrator.user
文件 4666 2012-08-09 15:04 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TestTreeListCtrlDlg.cpp
文件 1034 2012-08-09 11:47 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TestTreeListCtrlDlg.h
文件 31363 2012-08-09 16:32 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TreeListCtrl.cpp
文件 5818 2012-08-09 16:32 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl\TreeListCtrl.h
文件 914 2012-08-07 13:55 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl.sln
..A..H. 53248 2012-08-09 14:42 mfc_CListCtrl中插入树_编辑_设置表头\TestTreeListCtrl\TestTreeListCtrl.suo
............此处省略13个文件信息
相关资源
- 基于MFC扩展CListCtrl子项显示图片并叠
- 黑白棋(带简单AI)
- MFC程序-碰撞的小球
-
Cme
taFileDC的使用示例 - ado数据库MFC图书管理系统vs2010
- mfc单文档窗体画线与写字
- [免费]MFC制作目录树
- MFC读三维模型obj文件
- 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
- c 程序判断离散数学中命题公式
- MFC控件动态拖动
- MFC中OpenGL面和体的绘制以及动画效果
- c MFC 画多边形
- RSA AES DES ECC加密算法源码
- Microsoft基本类库 (MFC)(C 库)
- vc利用MFC底层开发的二维GIS管理软件,
- (MFC) 时钟日期程序
- 一个基于MFC的GridCtrl,提供类似Excel的
- 用MFC实现简单的画图功能
- MFC绘图小软件源代码(可当VC大作业用
- 基于MFC的文件目录树的对话框实现代
- VC 6.0 MFC做画图软件
- 空间后方交会MFC版,C 源代码
- 图像缩放(MFC)有详细的实现过程
- 一个mfc前端显示秒表
- 基于C 的简易FTP客户端(带源码)
- C (MFC)华容道自动求解
- VC 编程实现活动主机扫描源代码
- 在线考试系统VC (MFC)
评论
共有 条评论