我发现很难理解ListView项和Subitems之间的区别。第一列中的条目是否称为Items,而其余列中的条目是否称为Subitems?如果是这样,那么这种区别何时变得相关?
答案 0 :(得分:1)
子项仅在某些列表视图模式下可见。报告模式显示所有子项目,而Tiles和Content仅显示其中一些子项目。
没有“父”/主要项目,子项目就不可能存在。您可以使用LVM_INSERTITEM
创建项目,但只需使用LVM_SETITEMTEXT
即可创建子项目。其他项目属性(如lParam
和iIndent
)仅适用于主项目,在第一个通用控件版本中,您只能为主项目设置图像。
我建议您将分配和检索项目文本缓冲区的细节抽象为辅助函数。类似TCHAR* LVAllocAndGetItemText(HWND hLV, int ItemIndex, int SubItem = 0);
的内容,大多数其他listview交互通常不够通用或只适用于主项(iSubItem = 0
)。