资源简介
树形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个文件信息
相关资源
- Ntp客户端校时工具精简高效
- 鼠标光标 cur格式
- opengl绘制的三维汽车
- VC开发实现任务管理器
- CEdit控件重写类CEditList,输入自动提示
- png不规则窗口
- 仿QQ VS2010聊天程序服务器端、客户端
- VS2015开源的类CAD软件
- 基于VS2015编写的串口调试助手
- YaChangeSplit.zip
- SerialPort_VS2019.rar
- Iocomp破解版
- 微信导出图片重命名小工具
- tiny4412开发板RTP实时视频传输
- MFC 重绘CListCtrl、CTreeCtrl的滚动条
- MFC实现的简单的HTTP的POST和GET方法的类
- MFC实现的AES加解密软件(内附源代码
- MFC对话框框架,调用opencv打开摄像头
- MFC 根据分辨率自动缩放控件 图片控
- mfcdll调用方法
- 用VC(MFC)编写的学生信息管理系统源
- A星寻路算法 MFC写的动态演示程序
- MFC 非常好用的表格控件
- VS2010下的TCP客户端 MFC程序
- MFC多线程文件传输(客户端、服务器
- 基于MFC的拼图游戏
- MFC线程间发送消息
- 基于MFC的留言板程序+报告
- MFC多线程开发例程源码3
- OGRE嵌入MFC(附代码)
评论
共有 条评论