资源简介

【此版本比上一个版本增加了按钮功能,并且对按钮进行了自绘。】 本项目在WNI8+VC6下编译通过。 clistctrl控件中添加复选框,编辑框,按钮; 可调整列高度及更改字体大小。

资源截图

代码片段和文件信息

// HeaderCtrlCl.cpp : implementation file
//

#include “stdafx.h“
#include “test2222.h“
#include “HeaderCtrlCl.h“

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CHeaderCtrlCl
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);
m_bShowCheckBox = FALSE;//是否显示复选框
m_bChecked = FALSE;//复选 框是否选 中
}

CHeaderCtrlCl::~CHeaderCtrlCl()
{
}


BEGIN_MESSAGE_MAP(CHeaderCtrlCl CHeaderCtrl)
//{{AFX_MSG_MAP(CHeaderCtrlCl)
ON_WM_PAINT()
ON_MESSAGE(HDM_LAYOUT OnLayout)
ON_WM_LBUTTONDBLCLK()
ON_WM_LBUTTONDOWN()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CHeaderCtrlCl message handlers
void CHeaderCtrlCl::OnPaint()
{
CPaintDC dc(this); // device context for painting
// TODO: 在此处添加消息处理程序代码
// 不为绘图消息调用 CHeaderCtrl::OnPaint()
CRect tRect;
int nItem; 
nItem = GetItemCount();//得到有几个单元 
for(int i = 0; i
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(R G B));//创建画刷 
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); //当前(CHeaderCtrl)控件的大小
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(); 

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       7187  2016-07-05 10:48  listctrl_Button\test2222_listctrl\HeaderCtrlCl.cpp

     文件       1904  2016-07-08 11:42  listctrl_Button\test2222_listctrl\HeaderCtrlCl.h

     文件       3781  2016-07-08 14:12  listctrl_Button\test2222_listctrl\ListCtrlButton.cpp

     文件       1645  2016-07-08 13:46  listctrl_Button\test2222_listctrl\ListCtrlButton.h

     文件      32132  2016-07-08 14:08  listctrl_Button\test2222_listctrl\ListCtrlCl.cpp

     文件       5331  2016-07-08 11:43  listctrl_Button\test2222_listctrl\ListCtrlCl.h

     文件        910  2016-07-04 15:49  listctrl_Button\test2222_listctrl\ListCtrlEdit.cpp

     文件       1177  2016-07-04 15:48  listctrl_Button\test2222_listctrl\ListCtrlEdit.h

     文件       2988  2016-07-04 14:50  listctrl_Button\test2222_listctrl\MyListCtrl.cpp

     文件       1360  2016-07-04 14:05  listctrl_Button\test2222_listctrl\MyListCtrl.h

     文件       3615  2016-07-04 13:30  listctrl_Button\test2222_listctrl\ReadMe.txt

     文件      22831  2016-07-08 11:42  listctrl_Button\test2222_listctrl\Release\HeaderCtrlCl.obj

     文件      13375  2016-07-08 14:12  listctrl_Button\test2222_listctrl\Release\ListCtrlButton.obj

     文件      55764  2016-07-08 14:08  listctrl_Button\test2222_listctrl\Release\ListCtrlCl.obj

     文件       8048  2016-07-08 10:47  listctrl_Button\test2222_listctrl\Release\ListCtrlEdit.obj

     文件      12809  2016-07-08 10:47  listctrl_Button\test2222_listctrl\Release\MyListCtrl.obj

     文件       3891  2016-07-08 10:47  listctrl_Button\test2222_listctrl\Release\StdAfx.obj

     文件     249856  2016-07-08 14:38  listctrl_Button\test2222_listctrl\Release\test2222.exe

     文件       9635  2016-07-08 13:50  listctrl_Button\test2222_listctrl\Release\test2222.obj

     文件    7667944  2016-07-08 10:47  listctrl_Button\test2222_listctrl\Release\test2222.pch

     文件       8580  2016-07-08 13:50  listctrl_Button\test2222_listctrl\Release\test2222.res

     文件      24099  2016-07-08 14:38  listctrl_Button\test2222_listctrl\Release\test2222Dlg.obj

     文件      66560  2016-07-08 14:38  listctrl_Button\test2222_listctrl\Release\vc60.idb

     文件       1078  2016-07-04 13:30  listctrl_Button\test2222_listctrl\res\test2222.ico

     文件        400  2016-07-04 13:30  listctrl_Button\test2222_listctrl\res\test2222.rc2

     文件        778  2016-07-08 13:48  listctrl_Button\test2222_listctrl\resource.h

     文件        210  2016-07-04 13:30  listctrl_Button\test2222_listctrl\StdAfx.cpp

     文件       1238  2016-07-04 16:39  listctrl_Button\test2222_listctrl\StdAfx.h

     文件      35704  2016-07-08 13:48  listctrl_Button\test2222_listctrl\test2222.aps

     文件       2071  2016-07-08 13:48  listctrl_Button\test2222_listctrl\test2222.clw

............此处省略18个文件信息

评论

共有 条评论