2012-03-17 1 views
2

В новых версиях общей библиотеки управления listview поддерживает группы. Когда я использую макросы listview для добавления группы, группа не отображается в списке. В чем причина, по которой элемент управления listview может не показывать группы, которые были добавлены?Каковы причины отсутствия группы в списке win32?

ответ

4
  1. Включить групповой просмотр в списке, прежде чем добавлять группу в список. Для этого вы можете использовать макрос ListView_EnableGroupView или LVM_ENABLEGROUPVIEW.

  2. Список должен иметь стиль верхнего выравнивающего окна. Вы можете установить этот стиль в редакторе ресурсов для элемента управления списком или применить его с помощью LVS_ALIGNTOP.

  3. Группа должна иметь связанные с ней элементы. Если у группы нет связанных предметов, она может не отображаться. При вставке элемента в список просмотра необходимо указать идентификатор группы, используя свойство iGroupId LVITEM. Обратите внимание, что свойство iGroup LVITEM доступно только для чтения и не должно использоваться для указания, к какой группе принадлежит элемент.

  4. У группы должны быть элементы, связанные с ней, чтобы показать ее. Если вы настраиваете группу элементов после создания элемента и группы, убедитесь, что вы не используете макрос ListView_MoveItemToGroup, который доступен только в Windows CE. Вместо этого вы можете установить группу элементов с помощью макроса 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; 
    
  5. элемент управления ListView не может находиться в режиме «Список», как он не поддерживается.

  6. Listview не может считаться владельцем listview, он также не поддерживается.

  7. application manifest должен указать версию 6.0 или выше общей библиотеки управления.

  8. Убедитесь, что при вызове InitCommonControlsEx вы не включаете флаг ICC_LISTVIEW_CLASSES, так как в некоторых случаях это может помешать отображению групп элементов управления listview.

Дополнительные ресурсы:

Смежные вопросы