Уроки Iczelion'а



         

Урок . Контрол Listview


В этом туториале мы изучим как создать и использовать контрол listview.

Скачайте пример.

Теория:

Listview - это один из common control'ов, таких как treeview, richedit и так далее. Вы знакомы с ними, даже если не занете их имен. Например, правая панель Windows Exрlorer'а - это контрол listview. Этот контрол подходит для отображения item'ов. В этом отношении его можно рассматривать как усовершенствованный listbox.

Вы можете создать listview двумя путями. Первый метод самый простой: создайте его с помощью редактора ресурсов, главное не забудьте поместить вызов InitCommonControls. Другой метод заключается в вызове CreateWindowsEx. Вы должны указать правильное имя класса окна, то есть SysListView32.

Существует четыре метода отображения item'ов в listview: иконки, маленькие иконки, список и отчет. Вы можете увидеть чем отличаются виды отображения друг от друга, выбрав View->Large Icons (иконки), Small Icons (маленькие иконки), List (список) and Details (отчет)

Теперь, когда мы знаем, как создать listview, мы рассмотрим, как его можно применять. Я сосредоточусь на отчете, как методе отображения, который может продемонстрировать многие свойства listview. Шаги использования listview следующие:

  • Создаем listview с помощью CreateWindowEx, указав SysListView32 как имя класса. Вы должны указать начальный тип отображения.
  • (если предусматривается) Создаем и инициализируем списки изображений, которые будут использованы при отображении item'ов listview.
  • Вставляем колонки в listview. Этот шаг необходим, если listview будет использовать тип отображения 'отчет'.
  • Вставьте item'ы и подitem'ы в listview.

Колонки

При отчете в listview может быть одна или более колонок. Вы можете считать тип организации данных в этом режиме таблицей: данные организованны в ряды и колонки. В режиме отчета в listview должна быть по крайней мере одна колонка. В других режимах вам не надо вставлять колонку, так как в контроле будет одна и только одна колонка.

Вы можете вставить колонку, послав сообщение LVM_INSERTCOLUMN контролу listview.




Содержание  Назад  Вперед