Поделиться через


Образец ROWLIST: демонстрация выбора полных строк в списках

Обновлен: Ноябрь 2007

В образце ROWLIST показан выбор полных строк в режиме отчета из класса общего элемента управления MFC CListView. В образце реализован многократно используемый класс CListViewEx, который позволяет выбирать полные строки в дополнительном режиме отображения для элемента управления "Список". Класс CListViewEx использует режим рисования владельцем для всех функций рисования в элементе управления. Этот класс можно использовать в собственных проектах, непосредственно или в качестве базового класса. В образце ROWLIST также показано использование изображений состояния и перекрытия в элементе управления "Список".

td9sa246.alert_security(ru-ru,VS.90).gifПримечание о безопасности.

Этот образец кода служит для демонстрации основных принципов и не предназначен для использования в приложениях или на веб-узлах, поскольку не может считаться примером наиболее безопасного кода. Корпорация Майкрософт не несет ответственности за случайные или косвенные убытки в случае использования образца кода не по назначению.

Чтобы получить образцы и инструкции по их установке, выполните следующие действия.

  • В меню Справка среды Visual Studio выберите пункт Примеры.

    Дополнительные сведения см. в разделе Поиск файлов примеров.

  • Самая последняя версия и полный список образцов доступны в Интернете на странице образцов Visual Studio 2008.

  • Кроме того, образцы находятся на жестком диске компьютера. По умолчанию образцы кода и файл Readme копируются в папку, находящуюся в папке \Program Files\Visual Studio 9.0\Samples\. Все образцы кода для экспресс-выпусков Visual Studio находятся в Интернете.

Построение и запуск образца

Построение и запуск образца ROWLIST

  1. Откройте решение rowlist.sln.

  2. В меню Построение выберите команду Построить.

  3. В меню Отладка выберите пункт Запуск без отладки.

Во время запуска образец ROWLIST представляет приложение с интерфейсом SDI, вид которого определяется классом, производным от CListView. В списке содержатся элементы, представляющие различные цвета, и дополнительные данные об этих элементах. Первоначально элемент управления "Список" работает в режиме отчета и поддерживает выбор полных строк. Меню View и панель инструментов позволяют выбрать другие режимы представления.

Изображения состояния изначально представляются пустым квадратом слева от каждого элемента. Если щелкнуть изображение состояния, для элемента появится изображение, выводящееся в строке заголовка. Если изображения состояния не показываются, можно дважды щелкнуть элемент, чтобы изменить его состояние.

Класс CListViewEx

Класс CListViewEx, производный от CListView, поддерживает многократное использование и реализует режим выбора полных строк. Этот класс обеспечивает полную поддержку режима рисования владельцем для элемента управления "Список" и поддерживает выбор полных строк путем реализации кода рисования для всех изображений и подписей. Класс CListViewEx выводит изображения и подписи элемента управления точно так же, как они представлены в режиме отчета, добавляя поддержку выбора полных строк. Класс содержит только две дополнительных функции-члена (по сравнению с CListView): SetFullRowSel и GetFullRowSel. Эти функции используются для задания режима выбора полных строк или запроса этого режима.

Этот класс можно повторно использовать в собственных проектах, создавая производный класс или непосредственно. Самым простым способом использования класса является создание с помощью мастера приложения, которое содержит класс, производный от CListView, и последующее изменение базового класса на CListViewEx.

Использование изображений состояния и перекрытия в CListView

В образце ROWLIST также показано использование изображений состояния и перекрытия. Изображения состояния изначально представляются пустым квадратом слева от каждого элемента. Если щелкнуть изображение состояния, для элемента появится изображение, выводящееся в строке заголовка. В результате значок состояния элемента изменяется на квадрат с флажком. Метод CRowListView::OnLButtonDown содержит код, который вставляет флажок, если выбирается значок состояния, и изменяет значок состояния для элемента.

Если изображения состояния не показаны, то используемое изображение будет отмечаться изображением перекрытия (серый квадрат с флажком). Состояние элемента можно изменить двойным щелчком, в результате чего включается или выключается изображение перекрытия. Код реализации двойного щелчка находится в методе CRowListView::OnLButtonDblClk.

td9sa246.alert_note(ru-ru,VS.90).gifПримечание.

Некоторые образцы, включая данный, не модифицировались с учетом изменений в мастерах, библиотеках и компиляторе Visual C++, однако по-прежнему демонстрируют выполнение требуемой задачи.

См. также

Другие ресурсы

Примеры MFC