群组未在win32列表视图中显示的原因是什么?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了群组未在win32列表视图中显示的原因是什么?相关的知识,希望对你有一定的参考价值。
在较新版本的公共控件库中,listview支持组。当我使用listview宏添加组时,该组不会显示在列表视图中。 listview控件可能无法显示已添加的组的原因是什么?
答案
- 在将组添加到列表视图之前,在列表视图上启用组视图。您可以使用ListView_EnableGroupView宏或LVM_ENABLEGROUPVIEW消息来实现此目的。
- 列表视图必须具有顶部对齐窗口样式。您可以在资源编辑器中为listview控件设置此样式,或使用LVS_ALIGNTOP应用它。
- 该组必须具有与之关联的项目。如果该组没有任何关联的项目,则可能无法显示。将项目插入列表视图时,必须使用LVITEM的iGroupId属性指定组ID。请注意,LVITEM的iGroup属性是只读的,不应用于指定项目所属的组。
- 该组必须具有与之关联的项目才能显示。如果在创建项目和组之后设置项目组,请确保您没有使用仅在Windows CE上可用的ListView_MoveItemToGroup宏。相反,您可以使用ListView_SetItem宏设置项目的组。
LVITEMA Item = {0}; Item.mask = LVIF_GROUPID; Item.iItem = Index; Item.iGroupId = GroupId; if (ListView_SetItem(hWnd, &Item) == FALSE) return FALSE; return TRUE;
- 列表视图不能处于“列表”模式,因为它不受支持。
- listview不能是ownerdrawn listview,它也不受支持。
- application manifest必须指定公共控件库的6.0或更高版本。
- 确保在调用InitCommonControlsEx时不包含ICC_LISTVIEW_CLASSES标志,因为在某些情况下,它可能会阻止listview控件显示组。
其他资源:
以上是关于群组未在win32列表视图中显示的原因是什么?的主要内容,如果未能解决你的问题,请参考以下文章