Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
шпоры по Леонову, 5семестр.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
503.3 Кб
Скачать

Создание просмотра списка

В биб. MFS есть класс ClistCtrl, инкапсурирующий возможности рассматриваемого элемента управленияэ Как и большинство других эл. управления, просмотр списка создается в диалоге добавлением в шаблон блока диалога соовет. элемента или в обычном окне при помощи вызова фу-ции Create в фу-циях окна OnInitDialog (для диалогов):

BOOL ClistCtrl::Create (DWORD dwStyle, const RECT&rect, cWnd* pParentWnd, UINT nID ) -// пар. rect задает размер и расположение списка просмотра, pParentWnd – задает родительское окно (не рав. NULL); nID – задает идентефикатор просмотра списка, пар. dwStyle может сод. любые комбинации стилей элементов управления, а также след., свойственные рассматриваемому:

LVS_ALIGNLEFT Записи вырав. по лев. краю при просмотре в режиме крупных или мелких значков

LVS_ICON Задает режим крупных значков

LVS_LIST Задает режим списка

LVS_REPORT Задает режим таблицы, для возможности отображения значков совместно с записями таблицы следует скомбинировать с этим стилем стиль LVS_ICON

LVS_SMALLICON Задает режим мелких значков

LVS_EX_FLATSB В элементе управления плоские полосы прокрутки

Для добавления записи в список служит фу-ция InsertItem:

Int ClistCtrl :: InsertItem (const LVITEAM*pItem)

Для удаления записи списка по индексу следует использовать фу-цию DeleteItem, а для единовременного удаления всех записей - DeleteAllItem.

Работа со столбцами

Int ClistCtrl :: GetStringWidth (LPCTSTR lpsz) - // позволяет на основании строки текста определить минимальную ширину столбца необходимую для ее вывода на экран целиком

Для добавления (вставки) нового столбца служит фу-ция:

Int ClistCtrl :: InsertColumn (int nCol, const LV_COLUMN* pColumn) -// пар. nCol определяет индекс новог столбца

Для удаленbя столбца служит фу-ция DeleteColumn.

Функции для работы со списком в целом

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

BOOL ClistCtrl :: GetViewRect (LPRECT lpRect) - // возвращает размеры прямоугольника, ограничающего все записи списка в режиме мелких или крупных значков.

BOOL ClistCtrl :: GetItemRect (int nItem, LPRECT lpRect, UINT nCode) - // возвр. параметры прям-ка lpRect, ограничивающего весь или часть элемента. nItem – индекс элемента, чьи параметры должны быть возвращены, nCode –часть элемента, для которого возвращаются параметры.

Int ClistCtrl :: GetCountPerPage ()- // возвращ. кол-вл записей, кот. могут поместиться по вертикали в видимой части просмотра списка при просмотре в режиме списка или таблицы.

BOOL ClistCtrl :: GetOrigin (LPPOINT lpPoint ) - // возвращ. координаты, с которых начинается вывод элементов просмотра списка

BOOL ClistCtrl :: SetIconSpacing (int cx, int cy) - // устанавливают новое расстояние между значками по осям x и y.

BOOL ClistCtrl :: Scroll (CSsize, size) - // осуществляет прокрутку по вертикали и горизонтали на заданное кол-во пикселей

BOOL ClistCtrl :: Arrange (UINT nCode) - // инициирует переупорядочивание записей. Способ упорядочивания задается пар. nCode, кот. может принимать одно из след. значений:

LVA_ALIGNLEFT Записи длжны быть выровнены по левому краю окна

LVA_ALIGNTOP Записи длжны быть выровнены по верхнему краю окна

LVA_DEFAULT Записи должны быть переупорядоченны в соответствии с текущим установленным типом выравнивания