CHeaderCtrl 参考

关于更改mfc列表控件的格式,如何自定义?类要如何重写? 🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。 阅读详情

CHeaderCtrl

CHeaderCtrl

CObject
 └CCmdTarget
    └CWnd
       └CHeaderCtrl

“标头控件”是一个窗口,通常在文本或数据顶部。它包含列名字,可以被拆分。用户可以拖动分隔线来分开各个部分,以设置各列的宽度。
CHeaderCtrl提供了Windows基本标头控件功能。此控件(以及CHeaderCtrl类)仅对运行于Windows 95,Windows NT 3.51版及以上的程序有效。
对IE 4.0的附加控件添加的功能包括:
·标头项目的定制排序。
·标头项目的拖放,直接重新设置标头项目。创建CHeaderCtrl对象时采用HDS_DRAGDROP风格。
·在列大小改变时一直保持标头项目文本可视。创建CHeaderCtrl对象时采用HDS_DRAGDROP风格。
·标头热追踪。当指针停留在标头项目之上时,标头项目高亮度显示。创建CHeaderCtrl对象时采用HDS_DRAGDROP风格。
·支持图象列表。标头项目可以包含存放在CImageList对象中的图象。
要了解有关使用CHeaderCtrl的更多信息,可参阅联机文档的“VisualC++程序员指南”中的“控件主题”和“使用CHeaderCtrl”。
#include <afxcmn.h>


CHeaderCtrl类的成员

构造函数
CHeaderCtrl构造一个CHeaderCtrl对象
Create创建一个标头控件并把它附加给CHeaderCtrl对象

属性
GetItemCount获取一个标头控件下的项目总数
GetItem获取一个标头控件中项目的更多信息
SetItem设置一个标头控件中指定项目的属性
GetImageList获取在标头控件中画标头项目的图象列表的句柄
SetImageList将一个图象列表在标头控件中排列
GetItemRect获取一个标头控件中给定控件的有界矩形
GetOrderArray获取一个标头控件中自左至右的顺序排列的项目
SetOrderArray在一个标头控件中设置自左至右的项目顺序
OrderToIndex获得一个标头控件中依项目顺序排列的项目的索引值

操作
InsertItem在一个标头控件中添加一个项目
DeleteItem从一个标头控件中删除一个项目
Layout在一个给定矩形中获取一个标头控件的大小和位置
CreateDragImage创建一个项目的图象的透明形式
SetHotDivider改变在标头项目之间的分隔线来显示一个标头项目的人工拖放

可覆盖的函数
DrawItem绘制一个标头控件中的指定项目

CHeaderCtrl::CHeaderCtrl

CHeaderCtrl( );

说明:构造一个CHeaderCtrl对象。

CHeaderCtrl::Create

BOOL Create(DWORD dwStyle, const RECT& rect, CWnd* pParentWnd, UINT nID);

返回值:
如果初始化成功,则返回非零值,否则为0。

参数:
dwStyle指定标头控件的风格,使用控件需要的任意标头控件风格的结合。
rec指定标头控件的大小与位置,或者是一个CRect对象或者是一个RECT结构。
pParentWnd指定标头控件的父窗口,通常是一个CDialog,不能为NULL。
nID指定标头控件的ID。

说明:
分两步建立一个CHeaderCtrl对象。首先调用构造函数,然后调用Create来创建标头控件并把它附加给CHeaderCtrl对象。
以下风格可被用于标头控件(见联机文档“平台SDK”中的“关于标头控件风格”):
·HDS_HOTTRACK当指针停留在标头项目时,此项目高亮度显示。
·HDS_DRAGDROP标头控件可以被拖放,以实现重排序。
·HDS_FULLDRAG当用户改变列大小时,标头控件显示列内容。
·HDS_BUTTONS标头控件与按钮一样。
·HDS_HORZ标头控件水平。
·HDS_VERT标头控件垂直(此风格当前不采用)。
·HDS_HIDDEN标头控件在详细模式下不可见。
另外,可以使用以下常用控件风格来确定标头控件自己的大小和位置(见“平台SDK”中的“常用控件风格”)。
·CCS_BOTTOM使控件自身排列在父窗口用户区的底部并设置其宽度与父窗口的宽度一样。
·CCS_NODIVIDER禁止在控件顶部画一个二像素高亮度显示。
·CCS_NOHILITE禁止在控件顶部画一个一像素高亮度显示。
·CCS_NOMOVEY使控件自己水平改变大小及移动而不垂直移动,响应WM_SIZE消息。如果使用CCS_NORESET风格,则此风格无效。标头控件缺省时具有此风格。
·CCS_NOPARENTALIGNCCS_TOP CCS_BOTTOM禁止对象在父窗口顶部或底部自动移动。尽管父窗口大小改变了,控件仍在父窗口中保持其位置。如果CCS_TOP或CCS_BOTTOM风格也被使用,则缺省调整高度,但位置与宽度不变。
·CCS_NORESIZE禁止控件在初始化或新大小设置时使用缺省宽度与高度,而是用创建或新设请求时指定的宽度和高度。
·CCS_TOP使控件定位于父窗口用户区的顶部并使其宽度与父窗口一样。
也可以对一个标头控件使用以下窗口风格(见“MFC库参考,第二部分”中的“Windows风格”):
·WS_CHILD构造一个子窗口,不可与WS_POPUP风格同时使用。
·WS_VISIBLE构造一个初始可见的窗口。
·WS_DISABLED构造一个初始不可见的窗口。
·WS_GROUP指定一组控件中的第一个可以用箭头从一个控件移到另一个控件的控件。从第一个开始,所有的用WS_GROUP风格定义均属于同一组。下一个用WS_GROUP风格结束的控件结束了此组并开始一个新组(即:下一个开始时,上一个便结束)。
·WS_TABSTOP指定了控件的任意一个,通过它用户可以用TAB键移动。TAB键使用户访问由WS_TABSTOP风格指定的另一个控件。


CHeaderCtrl::CreateDragImage

CImageList* GreateDragImage(int nIndex);

返回值:
如果成功,则返回一个指向CImageList对象的指针,否则为NULL。返回的列表仅包含一个图象。

参数:
nIndex标头控件内项目的基于0的索引。分配给此项目的图象是透明图象的基础。

说明:
此成员函数执行Win32的消息HDM_CREATEDRAGIMAGE的动作,可参阅联机文档“平台SDK”中的叙述。它提供了对项目拖放的支持。
返回的指向的CImageList对象指针是一个临时对象,当下一个空闲时间运行时即被删除。


CHeaderCtrl::DeleteItem

BOOL DeleteItem(int nPos);

返回值:如果成功,则返回非零值,否则为0。

参数:
nPos要删除的项目的基于0的索引。

说明:从一个标头控件中删去一个项目。

CHeaderCtrl::DrawItem

void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);

参数:
lpDraWItemStruct指向描述着色项目DRAWITEMSTRUCT结构的指针。

说明:
当拥有者绘制的标头控件的可视背景改变时,由框架调用。ItemAction成员的DRAWITEMSTRUCT结构定义了将要进行的绘画动作。
缺省时,此成员函数不做任何事情。覆盖此函数,可绘制拥有者的CHeaderCtrl对象。在此成员函数终止之前,应用应存储所有由lpDrawItemStruct提供的、用于显示上下文的图形设备接口对象。

CHeaderCtrl::GetImageList

CImageList* GetImageList( ) const;

返回值:一个指向CImageList对象的指针。

说明:
此成员函数实现Win32消息HDM_GETIMAGELIST的功能,可参阅联机文档“平台SDK”。
指向CImageList对象的返回指针是一个临时对象指针,当下一个空闲时间运行时被删除。

CHeaderCtrl::GetItem

BOOL GetItem(int nPos, HDITEM* pHeaderItem) const;

返回值:如果成功,则返回非零值;否则为0。

参数:
nPos指定要获取的项目的基于0的索引。
pHeaderItem指向接收新项目的HDITEM结构的指针,此结构与InsertItem和SetItem成员函数一起使用。
mask元素中的标志设置保证对应元素中的值被返回值正确填充。如果mask元素被设置为0,则其它结构元素无意义。

说明:获取关于标头控件项目的信息。


CHeaderCtrl::GetItemCount

int GetItemCount( ) const;

返回值:
如果成功,则返回标头控件项目的个数,否则为-1。

说明:获取标头控件中的项目的个数。


CHeaderCtrl::GetItemRect

BOOL GetItemRect(int nIndex, LPRECT lpRect) const;

返回值:如果成功,则返回非零值,否则为0。

参数:
nIndex标头控件项目基于0的索引。
lpRect指向RECT项目地址的指针,以接收有界矩形的更多信息。

说明:

此函数实现Win32消息HDM_GETITEMRECT的功能,可参阅联机文档“平台SDK”。 

CHeaderCtrl::GetOrderArray

BOOL GetOrderArray(LPINT piArray, int iCount = -1);

返回值:如果成功,则返回非零值,否则为0。

参数:
piArray指向缓冲区地址的指针,以接收标头控件项目值的索引,按它们从左到右的显示顺序。
iCount标头控件的项目数。

说明:
此成员函数实现Win32消息HDM_GETORDERARRAY的功能,可参阅联机文档“平台SDK”。它提供对标头项目排序的支持。
如果使用iCount的缺省值,则GetOrderArray使用GetItemCount填充参数。


CHeaderCtrl::InsertItem

int InserItem(int nPos, HDITEM* phdi);

返回值:如果成功,则返回新项目索引,否则为-1。

参数:
nPos插入项目的基于0的索引。如果为0,则此项目插入标头控件的开始处;如果此值大于最大值,则此项目插入标头控件末尾。
phdi指向一个包括被插入项目信息的HDITEM结构的指针。

说明:插入一个指定的索引的项目到标头控件。

CHeaderCtrl::Layout

BOOL Layout(HDLAYOUT* pHeaderLayout);

返回值:如果成功,则返回非零值,否则为0。

参数:
pHeaderLayout指向一个HDLAYOUT结构的指针,包含标头控件的大小和位置信息。

说明:
获取在一个指定矩形内的标头控件的大小和位置。此函数用于指定占用给定矩形的新标头控件的属性情况。 

CHeaderCtrl::OrderToIndex

int OrderToIndex(int nOrder) const;

返回值:
项目索引,基于标头控件中项目的顺序。索引自左到右由0开始。

参数:
nOrder项目在标头控件从左到右显示时的基于0的顺序值。

说明:
此成员函数实现Win32的宏HDM_ORDERTOINDEX的功能,可参阅联机文档“平台SDK”。
它提供对标头排序的支持。

CHeaderCtrl::SetHotDivider

int SetHotDivider(CPoint pt);
int SetHotDivider(int nIndex);

返回值:高亮度分隔符的索引。

参数:
pt指针位置。标头控件按指针位置,高亮度显示分隔符索引。
nIndex高亮度分隔符的索引。

说明:
此成员函数实现Win32消息HDM_SETHOTDIVIDER的功能,可参阅联机文档“平台SDK”。它提供对标头项目的拖放。

CHeaderCtrl::SetImageList

CImageList* SetImageList(CImageList* pImageList);

返回值:
以前分配给标头控件的CImageList对象的指针。

参数:
pImageList指向CImageList对象,此对象包含将被分配给标头控件的图象列表。

说明:
此成员函数实现Win32消息HDM_SETIMAGELIST的功能,可参阅联机文档“平台SDK”。返回指针指向的CImageList对象是一个临时对象,在下一空闲时间运行时被删除。

CHeaderCtrl::SetItem

BOOL SetItem(int nPos,HDITEM* pHeaderItem);

返回值:如果成功,则返回非零,否则为0。

参数:
nPos被操纵的项目的基于0的索引。
pHeaderItem指向HDITEM结构的指针,此结构包含新项目的信息。

说明:设置标头控件中项目的属性。

CHeaderCtrl::SetOrderArray

BOOL SetOrderArray(int iCount,LPINT piArray);

返回值:如果成功,则返回非零值,否则为0。

参数:
iCount标头控件的项目数。
piArray指向缓冲区地址的指针,按其由左到右的显示顺序,接收标头控件中项目的索引值。

说明:
此成员函数实现Win32的宏HDM_SETORDERARRAY的功能,可参阅联机文档“平台SDK”。它提供对标头项目排序的支持
MFC CListCtrl自绘实战:重绘滚动条、列头与列表项 在Windows桌面客户端开发中,界面自绘是打破系统默认控件风格、实现现代化UI的关键手段。MFC的CListCtrl控件虽然功能完整,但默认外观陈旧,且存在失焦后选中项变灰、滚动条样式难以自定义、列头无法灵活绘制等问题。通过理解WM_NCPAINT、CHeaderCtrl派生与NM_CUSTOMDRAW通知的绘制链路,开发者可以在不替换控件、不动消息机制的前提下,精准接管滚动条、列头与列表项的外观,同时解决“clistctrl取消所有选择行”和“丢去焦点变灰”等高频交互痛点。这套方案适合需要在老框架内做界 阅读详情

相关推荐

MFC CListCtrl全自绘指南:滚动条、表头与列表项统一美化

在桌面客户端开发中,界面控件的视觉一致性直接影响用户体验。MFC作为经典框架,其CListCtrl控件由列表项、表头和滚动条三套独立绘制机制构成,默认样式往往停留在老式风格,难以匹配深色主题等现代UI需求。通过NM_CUSTOMDRAW通知接管列表项绘制、子类化CHeaderCtrl重绘表头、处理WM_NCPAINT定制滚动条外观,可以实现控件的完全自绘与风格统一。这一方案不仅解决了“选中后失焦变灰”等经典痛点,还能灵活控制滑块、排序箭头、复选框等细节,提升交互反馈与整体观感。无论是老项目美化还是新界面开发

weixin_28839629的博客 289

CHeaderCtrl详解

登录 注册 帮助高级搜索编辑实验创建词条首页百科分类排行榜随便看看百科问答词条统计浏览次数: 874 次编辑次数: 1 次 历史版本更新时间: 2009-11-13麦兜管理员词条创建者发短消息程序员百科 &gt;&gt; 类和对象 &gt;&gt; MFC最新历史版本 :CHeaderCtrl返回词条编辑时间:11-13 16:13 历史版本编辑者:麦兜 历史版本:内容长度:12662 图片数:4...

wmnmtm的专栏 538

MFC CListCtrl全面自绘实战:表头、列表项与滚动条重绘

在桌面应用开发中,控件自绘是提升界面质感与品牌一致性的关键技术。其原理在于拦截系统默认的绘制消息(如NM_CUSTOMDRAW、WM_NCPAINT),接管控件的绘制流程,从而实现高度定制化的视觉效果。这项技术的价值在于无需引入庞大的第三方皮肤库,即可让原生控件呈现现代化的观感,尤其适用于企业级软件、行业工具及个人作品集等需要精细UI的工程实践。围绕MFC开发中最常遇到的控件CListCtrl,其自绘需覆盖三个核心区域:表头(HeaderCtrl)、列表项(Items)与滚动条(Scrollbar)。表头可

weixin_26911099的博客 312

改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景

用CListCtrl来显示数据比较方便,有时候我们需要标注某一列或某一个单元格的背景和字体颜色,或者需要改变一下行高和字体大小,CListCtrl要改变这些并不是很方便。本文将介绍如何派生一个类来改变CListCtrl及其表头的高度、字体大小、列背景颜色、单元格背景颜色、列字体颜色、单元格字体颜色 实现过程:1.表头修改  新建一个MFC类CHeaderCtrlCl,其基类为CHead

顺子的专栏 1万+

MFC CListCtrl重绘实战:滚动条、表头与列表项自绘指南

在Windows桌面客户端开发中,控件自绘是打破系统默认样式、实现界面视觉统一的核心手段。MFC框架下的CListCtrl作为列表类控件的主力,其默认外观在滚动条、表头和选中状态上常与定制化界面格格不入,尤其当控件失焦后选中行背景变灰的问题,严重影响用户体验。通过子类化与NM_CUSTOMDRAW通知机制,开发者可以完全接管滚动条的非客户区绘制、表头的热跟踪与文字样式,以及列表项的悬停、选中和失焦高亮逻辑。这种重绘方式不仅让选中行保持一贯的蓝色高亮,还能实现像素级跨系统一致性。实际工程中需要平衡绘制性能与系

weixin_42635064的博客 216

MFC CListCtrl自绘实战:解决失焦变灰与DrawItem核心代码

在Windows桌面应用开发中,列表控件是承载数据展示的核心组件,但默认的CListCtrl在不同系统主题下表现参差不齐,尤其是焦点丢失后选中行变为灰色,严重影响用户定位当前数据。许多MFC开发者都面临过这个痛点,而自绘(OwnerDraw)正是解决这类问题的关键手段。自绘通过重写DrawItem或处理NM_CUSTOMDRAW通知,将绘制逻辑完全掌控在自己手中,从而保持选中高亮稳定、实现交替行背景、自定义图标与文字排版。对于上位机监控、数据管理工具等场景,一个统一风格的列表界面能显著提升操作清晰度与产品质

weixin_29189363的博客 301

C++ 控件之 CHeadCtrl

表头控制(CHeaderCtrl)通常应用在窗口中的文本或数据的列表之上。一般为数据列的标题,可以包括多个部分,用户可以拖动每个部分并可以控制每列的宽度。表头控制类提供了普通表头控制的基本方法,只有在WINDOWS95以后版本系统中才提供,其方法包含在afxcmn.h文件中,一般与标签控制(CTabCtrl)和列表控制(CListCtrl)组合使用。(一)表头控制的对象结构1、表头

VGS® 研发笔记 1806

到底是什么决定了二极管的最高工作频率?

硬件工程师,应该都用过二极管的吧,不过也许有一个误区,大多数人可能并不知道,或者说是理解有问题,下面就来细细说下。 一个问题 先提一个问题:到底是什么决定了二极管的最高工作频率? 估计有不少人会回答是二极管反向恢复时间Trr,也有人会说是二极管结电容,那到底谁是对的呢?或者说都一样,反向恢复时间由结电容决定? 到底什么决定了二极管的最高工作频率,我们暂且不论,不过需要知道的是,二极管的反向恢复时间和结电容根本就是两回事,反向恢复时间绝不能等同于结电容的充放电时间。 为什么我这么说呢?.

weixin_42005993的博客 4832

CHeaderCtrl用法

CListCtrl的表头可以单独使用,类CHeaderCtrl封装了这一功能. 1.  构造表头     和所有控件一样,都通过Create函数创建对象,Create函数的原型如下:     virtual BOOL Create(DWORD dwStyle,const RECT& rect,CWnd* pParentWnd,UINT nID)     参数说明:     

馋嘴猪没胃口 9629

Mac M系列芯片用户必看:UTM虚拟机跑麒麟V10安装达梦DM8全流程避坑指南

本文为Mac M系列芯片用户提供了一份详尽的UTM虚拟机安装麒麟V10并部署达梦数据库DM8的实战指南。文章深入分析了在ARM架构下选择UTM而非其他虚拟化方案的原因,并详细拆解了从系统安装、SPICE工具配置、麒麟V10深度调优到DM8安装与避坑的全流程,重点解决了ARM环境下的兼容性与配置难题,帮助开发者高效搭建国产化开发测试环境。

ss78901的博客 937

别再手动对照了!用Python+ArcGIS Pro一键搞定三调数据转土地三大类

本文介绍如何利用Python和ArcGIS Pro实现三调数据向土地三大类的自动化转换,大幅提升国土空间规划和土地变更调查的工作效率。通过封装分类规则为Python函数并集成到ArcGIS Pro脚本工具中,解决了传统手动操作耗时且易错的问题,适用于大规模数据处理场景。

weixin_29081101的博客 304

对CHeaderCtrl控件详述

CHeaderCtrl CObject  └CCmdTarget     └CWnd        └CHeaderCtrl “标头控件”是一个窗口,通常在文本或数据顶部。它包含列名字,可以被拆分。用户可以拖动分隔线来分开各个部分,以设置各列的宽度。 CHeaderCtrl提供了Windows基本标头控件功能。此控件(以及CHeaderCtrl类)仅对运行于Windows 95

dxzysk的专栏 2622

简单说说Python中的pip如何换源

【安装包】:pip install 【升级包】:pip install --upgrade 【卸载包】:pip uninstall 【查看已安装的包】:pip list【搜索包】:pip search (注意:pip search功能在pip 10.0.0之后被弃用,建议使用其他方式搜索包,如访问PyPI官网或使用其他搜索引擎)

一捌柒的博客 2667

SubItem Selection in List Control改进版

近期把List Control扩展成Grid,参考了两篇关于SubItem Selection的文章,一篇来自Piotr Szewczyk.. 采用NM_CUSTOMDRAW方法,另一篇来自Muhammad Azam.,采用LVS_OWNERDRAWFIXED。我个人偏好于NM_CUSTOMDRAW,因为NM_CUSTOMDRAW可以控制是否自绘,可以控制自绘区域(CDDS_ITEMPREPAIN

SpriteLW的专栏 2688

告别GUI点点点:Formality形式化验证的TCL脚本自动化实战(附完整脚本)

本文详细介绍了如何通过TCL脚本实现Formality形式化验证的全流程自动化,显著提升验证效率并降低错误率。内容涵盖脚本框架解析、参数化设计、验证报告生成及团队协作策略,特别适合芯片设计工程师摆脱传统GUI操作,实现300%以上的效率提升。

weixin_33737134的博客 282

51单片机定时器的原理、应用与编程实现

本文系统介绍了51单片机定时器的基本原理与应用。首先阐述了定时器的工作原理,包括定时模式和计数模式的区别。然后详细讲解了定时器的四种工作模式(方式0-方式3)及其适用场景,并分析了相关寄存器(TMOD、TCON、THx/TLx)的功能设置。文章还给出了定时器编程的具体步骤,包括初始化、计数初值计算和示例代码。最后通过LED闪烁、PWM波形产生、脉冲计数等实际应用案例,展示了定时器的多样化应用。掌握这些知识对嵌入式系统开发具有重要意义。

2501_91227323的博客 1523

HDN_ENDTRACK

近期把List Control扩展成Grid,参考了两篇关于SubItem Selection的文章,一篇来自Piotr Szewczyk.. 采用NM_CUSTOMDRAW方法,另一篇来自Muhammad Azam.,采用LVS_OWNERDRAWFIXED。我个人偏好于NM_CUSTOMDRAW,因为NM_CUSTOMDRAW可以控制是否自绘,可以控制自绘区域(CDDS_ITEMPREPAIN

uda1985的专栏 1655

Ubuntu 部署 Ollama 避坑指南:下载失败 / 服务崩溃?一招解决所有问题!

本文详细介绍了在Ubuntu系统上安装Ollama大模型工具的完整流程和常见问题解决方案。主要内容包括:环境检查(系统版本、架构、依赖)、一键安装步骤、端口配置和服务启动等核心操作。重点针对下载失败、服务启动异常、权限不足等高频问题,提供了国内镜像配置、手动创建服务文件、用户组添加等实用解决方案。最后通过测试Qwen2.5轻量模型验证安装效果,并给出低配设备选型建议。全文提供可复制的命令行操作,帮助用户快速搭建离线可用的大模型环境。

2501_93651177的博客 1008

[ATL/WTL]_[初级]_[自定义多列TreeView]

场景 在开发 Win32,WTL,MFC 程序时,经常会用到 ListView 这个表格控件,ListView 的数据是按照行来显示的,行与行之间没有并没有什么关系。但是如果行之间有父子关系,比如像树形控件 TreeView 可以收起展开呢,如何实现? 图1 说明 这种具有列名的 TreeView 可以称为多列 TreeView(ColumnTreeView), 也可以称为 TreeListView. 这种控件它的特点就是 TreeView 有一个表头,拖动表头的分割线可以同步拖动 TreeVie

小白 1557

PyTorch实战(13)——图卷积网络(Graph Convolutional Network,GCN)

图卷积网络 (Graph Convolutional Network, GCN) 模型能够同时结合节点级特征和图级(邻域)信息进行分类,显著提升了图数据建模能力,适用于节点分类、图分类等多种任务。本节中,我们通过 PyTorch Geometric 库在 CiteSeer 图数据集上构建模型,们首先用前馈神经网络作为基线模型完成节点分类任务,随后用 GCN 模型替代前馈网络显著提升了分类准确率。

盼小辉丶的博客 3243

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

CListControl标题增加checkbox 实现全选/反选

需求:要做一个list,添加勾选,同时在title上添加支持全选/反选 找了各种方法 最后参考一个外国老哥写的 首先还是设置list的风格 并添加打勾的首列 m_list.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES); // 整行选择、网格线 m_list.InsertColumn(0, _T(""), LVCFMT_CENTER, 27); 下面是关键的 CHeaderCtrl原生是支持check的 不知道为什么查了很久没有人提这个

xxxscxxxx的博客 777

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

MFC LIstCtrl控件表头(分割)重新绘制

MFC的原始列表的的表头只支持单行输入的,对表头重绘后可以按自己需要进行绘制;效果图如下; 具体操作步骤如下: 1. 分别派生CHeaderCtrl与CListCtrl类;我这里写的类名是CMyHeadCtrl与CMyListCtrl;以下为CMyHeadCtrl与CMyListCtrl的代码: 具体下载链接(此下载链接不用C币,个人觉得现在的资源越来越贵了,已经下载不起,这个资源就共享吧): https://download.youkuaiyun.com/download/SELECT_destiny/210

SELECT_destiny的博客 4186

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

MFC中的一些问题记录

    CWnd中PreCreateWindow、PreSubclassWindow、SubclassWindow的区别 【原】CListCtrl 使用技巧 改变 CListCtrl、CHeaderCtrl 高度、字体、颜色和背景 深度解析VC中的消息(上) What are TCHAR, WCHAR, LPSTR, LPWSTR, LPCTSTR etc...

weixin_34408717的博客 114

Window Classes

Control Type  WNDCLASS    WNDCLASS Alias  MFC Class Animation   "SysAnimate32"   ANIMATE_CLASS  CAnimateCtrl ComboBoxEx*   "ComboBoxEx32"   WC_COMBOBOXEX  CComboBoxEx Date-Time*   "SysDateTimePick3

YL_WH的专栏 583

自身支持排序的CSortListCtrl

自身支持排序的CSortListCtrlVC里的CListCtrl是个很不好用的控件,特别是排序,实现起来很麻烦。关于排序的基本用法,有一篇很好的文章:http://www.vchelp.net/vchelp/zart/sortl.asp?type_id=9&class_id=1&cata_id=1&article_id=73&search_term=但是,在这个例子里也存在个问题:排

skyremember的专栏 5920
上一篇: 自己动手绘制ToolBar
下一篇: 以编程方式打印 XPS 文件
htt9931
博客等级 码龄24年 43粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值