如何在 CListCtrl 中拆分单个单元格
Posted
技术标签:
【中文标题】如何在 CListCtrl 中拆分单个单元格【英文标题】:How to split single cells in a CListCtrl 【发布时间】:2013-02-07 13:19:21 【问题描述】:我目前正在开发一个 C++/MFC 应用程序,并且我有各种列表控件(例如 CListCtrlStyled 对象:
我需要一种将单个行拆分为多列的方法,无需更改同一行中的单元格。
Here你可以看到我想要达到的结果。
起初,我想在另一个列表中插入一个列表,但这种方式似乎不可行...... 有没有其他方法可以获得类似的效果? 欢迎提供外部文档和/或示例代码的链接。
谢谢
它
【问题讨论】:
我将从grid control 或The Ultimate Grid 控件开始。我的猜测是,您最终不会拆分单个单元格,而是合并您想要更少的单元格。即使在那里,它们也可能没有真正合并——你可能最终得到不可见的零宽度单元格(或者它可能只是让你指定每行不同数量的单元格——我不记得了)。 您需要通过实现CListCtrl的自定义绘制子类来接管CListCtrl正常绘制操作的一部分。参考:msdn.microsoft.com/en-us/library/ms364048(v=vs.80).aspx 我使用 UltimateGrid 控件解决了我的问题。谢谢,杰瑞! :-) 【参考方案1】:你可以使用
LPNMHEADER phdr = reinterpret_cast(pNMHDR); NMLISTVIEW *pLV = (NMLISTVIEW *) pNMHDR;
pLV->iItem; pLV->iSubItem;
【讨论】:
以上是关于如何在 CListCtrl 中拆分单个单元格的主要内容,如果未能解决你的问题,请参考以下文章