• 大小: 169KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-11
  • 语言: 其他
  • 标签: mfc  

资源简介

树形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个文件信息

评论

共有 条评论