Класс CListCtrl
Инкапсулирует функциональность элемента управления "список", который отображает коллекцию элементов, где каждый элемент состоит из значка (списка изображений) и метки.
Синтаксис
class CListCtrl : public CWnd
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CListCtrl::CListCtrl |
Формирует объект CListCtrl . |
Открытые методы
Имя | Описание |
---|---|
CListCtrl::ApproximateViewRect |
Определяет ширину и высоту, необходимую для отображения элементов элемента управления представлением списка. |
CListCtrl::Arrange |
Выравнивание элементов в сетке. |
CListCtrl::CancelEditLabel |
Отменяет операцию редактирования текста элемента. |
CListCtrl::Create |
Создает элемент управления списка и присоединяет его к объекту CListCtrl . |
CListCtrl::CreateDragImage |
Создает список изображений перетаскивания для указанного элемента. |
CListCtrl::CreateEx |
Создает элемент управления списком с указанными расширенными стилями Windows и присоединяет его к объекту CListCtrl . |
CListCtrl::DeleteAllItems |
Удаляет все элементы из элемента управления. |
CListCtrl::DeleteColumn |
Удаляет столбец из элемента управления представлением списка. |
CListCtrl::DeleteItem |
Удаляет элемент из элемента управления. |
CListCtrl::DrawItem |
Вызывается при изменении визуального аспекта элемента управления "Рисование владельца". |
CListCtrl::EditLabel |
Начинается редактирование текста элемента на месте. |
CListCtrl::EnableGroupView |
Включает или отключает, отображаются ли элементы в элементе управления представлением списка как группа. |
CListCtrl::EnsureVisible |
Гарантирует, что элемент отображается. |
CListCtrl::FindItem |
Ищет элемент представления списка с указанными характеристиками. |
CListCtrl::GetBkColor |
Извлекает цвет фона элемента управления представлением списка. |
CListCtrl::GetBkImage |
Извлекает текущее фоновое изображение элемента управления представлением списка. |
CListCtrl::GetCallbackMask |
Извлекает маску обратного вызова для элемента управления представлением списка. |
CListCtrl::GetCheck |
Извлекает текущее состояние отображения изображения состояния, связанного с элементом. |
CListCtrl::GetColumn |
Извлекает атрибуты столбца элемента управления. |
CListCtrl::GetColumnOrderArray |
Извлекает порядок столбцов (слева направо) элемента управления представлением списка. |
CListCtrl::GetColumnWidth |
Извлекает ширину столбца в представлении отчета или представлении списка. |
CListCtrl::GetCountPerPage |
Вычисляет количество элементов, которые могут помещаться по вертикали в элементе управления представлением списка. |
CListCtrl::GetEditControl |
Извлекает дескриптор элемента управления редактирования, используемый для редактирования текста элемента. |
CListCtrl::GetEmptyText |
Извлекает строку для отображения, если текущий элемент управления представлением списка пуст. |
CListCtrl::GetExtendedStyle |
Извлекает текущие расширенные стили элемента управления представлением списка. |
CListCtrl::GetFirstSelectedItemPosition |
Извлекает позицию первого выбранного элемента представления списка в элементе управления представлением списка. |
CListCtrl::GetFocusedGroup |
Извлекает группу с фокусом клавиатуры в текущем элементе управления представлением списка. |
CListCtrl::GetGroupCount |
Извлекает количество групп в текущем элементе управления представлением списка. |
CListCtrl::GetGroupInfo |
Возвращает сведения для указанной группы элемента управления представлением списка. |
CListCtrl::GetGroupInfoByIndex |
Извлекает сведения об указанной группе в текущем элементе управления представлением списка. |
CListCtrl::GetGroupMetrics |
Извлекает метрики группы. |
CListCtrl::GetGroupRect |
Извлекает ограничивающий прямоугольник для указанной группы в текущем элементе управления представлением списка. |
CListCtrl::GetGroupState |
Извлекает состояние для указанной группы в текущем элементе управления представлением списка. |
CListCtrl::GetHeaderCtrl |
Извлекает элемент управления заголовком элемента управления представлением списка. |
CListCtrl::GetHotCursor |
Извлекает курсор, используемый при включении горячего отслеживания для элемента управления представлением списка. |
CListCtrl::GetHotItem |
Извлекает элемент представления списка в данный момент под курсором. |
CListCtrl::GetHoverTime |
Извлекает текущее время наведения элемента управления представлением списка. |
CListCtrl::GetImageList |
Извлекает дескриптор списка изображений, используемый для элементов представления списка рисования. |
CListCtrl::GetInsertMark |
Извлекает текущую позицию метки вставки. |
CListCtrl::GetInsertMarkColor |
Извлекает текущий цвет метки вставки. |
CListCtrl::GetInsertMarkRect |
Извлекает прямоугольник, ограничивающий точку вставки. |
CListCtrl::GetItem |
Извлекает атрибуты элемента представления списка. |
CListCtrl::GetItemCount |
Извлекает количество элементов в элементе управления представлением списка. |
CListCtrl::GetItemData |
Извлекает значение для конкретного приложения, связанное с элементом. |
CListCtrl::GetItemIndexRect |
Извлекает ограничивающий прямоугольник для всех или части подсети в текущем элементе управления представлением списка. |
CListCtrl::GetItemPosition |
Извлекает позицию элемента представления списка. |
CListCtrl::GetItemRect |
Извлекает ограничивающий прямоугольник для элемента. |
CListCtrl::GetItemSpacing |
Вычисляет интервал между элементами в текущем элементе управления представлением списка. |
CListCtrl::GetItemState |
Извлекает состояние элемента представления списка. |
CListCtrl::GetItemText |
Извлекает текст элемента представления списка или подсети. |
CListCtrl::GetNextItem |
Ищет элемент представления списка с указанными свойствами и с заданными связями с заданным элементом. |
CListCtrl::GetNextItemIndex |
Извлекает индекс элемента в текущем элементе управления представления списка, который содержит указанный набор свойств. |
CListCtrl::GetNextSelectedItem |
Извлекает индекс позиции элемента представления списка и позицию следующего выбранного элемента представления списка для итерации. |
CListCtrl::GetNumberOfWorkAreas |
Извлекает текущее количество рабочих областей для элемента управления представлением списка. |
CListCtrl::GetOrigin |
Извлекает текущий источник представления для элемента управления представлением списка. |
CListCtrl::GetOutlineColor |
Извлекает цвет границы элемента управления представлением списка. |
CListCtrl::GetSelectedColumn |
Извлекает индекс выбранного столбца в элементе управления списком. |
CListCtrl::GetSelectedCount |
Извлекает количество выбранных элементов в элементе управления представлением списка. |
CListCtrl::GetSelectionMark |
Извлекает знак выбора элемента управления представлением списка. |
CListCtrl::GetStringWidth |
Определяет минимальную ширину столбца, необходимую для отображения всей заданной строки. |
CListCtrl::GetSubItemRect |
Извлекает ограничивающий прямоугольник элемента в элементе управления представлением списка. |
CListCtrl::GetTextBkColor |
Извлекает цвет фона текста элемента управления представлением списка. |
CListCtrl::GetTextColor |
Извлекает цвет текста элемента управления представлением списка. |
CListCtrl::GetTileInfo |
Извлекает сведения о плитке в элементе управления представлением списка. |
CListCtrl::GetTileViewInfo |
Извлекает сведения об элементе управления представлением списка в представлении плиток. |
CListCtrl::GetToolTips |
Извлекает элемент управления подсказки, который элемент управления представления списка использует для отображения подсказок. |
CListCtrl::GetTopIndex |
Извлекает индекс самого верхнего видимого элемента. |
CListCtrl::GetView |
Возвращает представление элемента управления представлением списка. |
CListCtrl::GetViewRect |
Извлекает ограничивающий прямоугольник всех элементов в элементе управления представлением списка. |
CListCtrl::GetWorkAreas |
Извлекает текущие рабочие области элемента управления представлением списка. |
CListCtrl::HasGroup |
Определяет, имеет ли элемент управления представление списка указанную группу. |
CListCtrl::HitTest |
Определяет, какой элемент представления списка находится в указанной позиции. |
CListCtrl::InsertColumn |
Вставляет новый столбец в элемент управления представлением списка. |
CListCtrl::InsertGroup |
Вставляет группу в элемент управления представлением списка. |
CListCtrl::InsertGroupSorted |
Вставляет указанную группу в упорядоченный список групп. |
CListCtrl::InsertItem |
Вставляет новый элемент в элемент управления представлением списка. |
CListCtrl::InsertMarkHitTest |
Извлекает точку вставки, ближайшую к указанной точке. |
CListCtrl::IsGroupViewEnabled |
Определяет, включено ли представление группы для элемента управления представлением списка. |
CListCtrl::IsItemVisible |
Указывает, отображается ли указанный элемент в текущем элементе управления представлением списка. |
CListCtrl::MapIDToIndex |
Сопоставляет уникальный идентификатор элемента в текущем элементе управления представлением списка с индексом. |
CListCtrl::MapIndexToID |
Сопоставляет индекс элемента в текущем элементе управления представлением списка с уникальным идентификатором. |
CListCtrl::MoveGroup |
Перемещает указанную группу. |
CListCtrl::MoveItemToGroup |
Перемещает указанную группу в указанный отсчитываемый от нуля индекс элемента управления представлением списка. |
CListCtrl::RedrawItems |
Принудительно задает элемент управления представления списка для перезаписи диапазона элементов. |
CListCtrl::RemoveAllGroups |
Удаляет все группы из элемента управления представлением списка. |
CListCtrl::RemoveGroup |
Удаляет указанную группу из элемента управления представлением списка. |
CListCtrl::Scroll |
Прокручивает содержимое элемента управления представлением списка. |
CListCtrl::SetBkColor |
Задает цвет фона элемента управления представлением списка. |
CListCtrl::SetBkImage |
Задает текущее фоновое изображение элемента управления представлением списка. |
CListCtrl::SetCallbackMask |
Задает маску обратного вызова для элемента управления представлением списка. |
CListCtrl::SetCheck |
Задает текущее состояние отображения изображения состояния, связанного с элементом. |
CListCtrl::SetColumn |
Задает атрибуты столбца представления списка. |
CListCtrl::SetColumnOrderArray |
Задает порядок столбцов (слева направо) элемента управления представлением списка. |
CListCtrl::SetColumnWidth |
Изменяет ширину столбца в представлении отчета или представлении списка. |
CListCtrl::SetExtendedStyle |
Задает текущие расширенные стили элемента управления представлением списка. |
CListCtrl::SetGroupInfo |
Задает сведения для указанной группы элемента управления представлением списка. |
CListCtrl::SetGroupMetrics |
Задает метрики группы элемента управления представлением списка. |
CListCtrl::SetHotCursor |
Задает курсор, используемый при включении горячего отслеживания для элемента управления представлением списка. |
CListCtrl::SetHotItem |
Задает текущий горячий элемент элемента управления представлением списка. |
CListCtrl::SetHoverTime |
Задает текущее время наведения указателя элемента управления представлением списка. |
CListCtrl::SetIconSpacing |
Задает интервал между значками в элементе управления представлением списка. |
CListCtrl::SetImageList |
Назначает список изображений элементу управления представлением списка. |
CListCtrl::SetInfoTip |
Задает текст подсказки. |
CListCtrl::SetInsertMark |
Задает точку вставки в определенную позицию. |
CListCtrl::SetInsertMarkColor |
Задает цвет точки вставки. |
CListCtrl::SetItem |
Задает некоторые или все атрибуты элемента представления списка. |
CListCtrl::SetItemCount |
Подготавливает элемент управления представлением списка для добавления большого количества элементов. |
CListCtrl::SetItemCountEx |
Задает количество элементов для элемента управления представлением виртуального списка. |
CListCtrl::SetItemData |
Задает значение для конкретного приложения элемента. |
CListCtrl::SetItemIndexState |
Задает состояние элемента в текущем элементе управления представлением списка. |
CListCtrl::SetItemPosition |
Перемещает элемент в указанную позицию в элементе управления представлением списка. |
CListCtrl::SetItemState |
Изменяет состояние элемента в элементе управления представлением списка. |
CListCtrl::SetItemText |
Изменяет текст элемента представления списка или подсети. |
CListCtrl::SetOutlineColor |
Задает цвет границы элемента управления представлением списка. |
CListCtrl::SetSelectedColumn |
Задает выбранный столбец элемента управления представлением списка. |
CListCtrl::SetSelectionMark |
Задает знак выбора элемента управления представлением списка. |
CListCtrl::SetTextBkColor |
Задает цвет фона текста в элементе управления представлением списка. |
CListCtrl::SetTextColor |
Задает цвет текста элемента управления представлением списка. |
CListCtrl::SetTileInfo |
Задает сведения для плитки элемента управления представлением списка. |
CListCtrl::SetTileViewInfo |
Задает сведения, которые элемент управления представлением списка используется в представлении плитки. |
CListCtrl::SetToolTips |
Задает элемент управления подсказки, используемый элементом управления представлением списка для отображения подсказок. |
CListCtrl::SetView |
Задает представление элемента управления представлением списка. |
CListCtrl::SetWorkAreas |
Задает область, в которой можно отображать значки в элементе управления представлением списка. |
CListCtrl::SortGroups |
Сортирует группы элемента управления представлением списка с определяемой пользователем функцией. |
CListCtrl::SortItems |
Сортирует элементы представления списка с помощью функции сравнения, определяемой приложением. |
CListCtrl::SortItemsEx |
Сортирует элементы представления списка с помощью функции сравнения, определяемой приложением. |
CListCtrl::SubItemHitTest |
Определяет, какой элемент представления списка, если таковой имеется, находится в заданной позиции. |
CListCtrl::Update |
Принудительно заставляет элемент управления перезапугать указанный элемент. |
Замечания
Помимо значка и метки каждый элемент может содержать сведения, отображаемые в столбцах справа от значка и метки. Этот элемент управления (и, следовательно CListCtrl
, класс) доступен только для программ под управлением Windows 95/98 и Windows NT версии 3.51 и более поздних версий.
Ниже приведен краткий обзор CListCtrl
класса. Подробное концептуальное обсуждение см. в разделе "Использование CListCtrl
и элементы управления".
Представления
Элементы управления представлением списка могут отображать содержимое в четырех разных способах, называемых представлениями.
Представление значка
Каждый элемент отображается как полноразмерный значок (32 x 32 пикселя) с меткой под ним. Пользователь может перетащить элементы в любое расположение в окне представления списка.
Представление маленьких значков
Каждый элемент отображается как небольшой значок (16 x 16 пикселей) с меткой справа от него. Пользователь может перетащить элементы в любое расположение в окне представления списка.
Представление списка
Каждый элемент отображается как небольшой значок с меткой справа от него. Элементы упорядочены в столбцах и не могут перетаскиваться в любое расположение в окне представления списка.
Представление отчета
Каждый элемент отображается в собственной строке с дополнительной информацией, упорядоченной в столбцах справа. Самый левый столбец содержит маленький значок и метку, а последующие столбцы содержат вложенные элементы, указанные приложением. Внедренный элемент управления заголовком (класс
CHeaderCtrl
) реализует эти столбцы. Дополнительные сведения об элементе управления заголовками и столбцах в представлении отчета см. в статье "ИспользованиеCListCtrl
: добавление столбцов в элемент управления (представление отчета)".
Стиль текущего представления списка элемента управления определяет текущее представление. Дополнительные сведения об этих стилях и их использовании см. в разделе "Использование CListCtrl
: изменение стилей элементов управления списком".
Расширенные стили
Помимо стандартных стилей списков класс CListCtrl
поддерживает большой набор расширенных стилей, предоставляя обогащенные функциональные возможности. Ниже приведены некоторые примеры этой функции:
Выбор наведения указателя мыши
Если этот параметр включен, позволяет автоматически выбирать элемент, когда курсор остается над элементом в течение определенного периода времени.
Представления виртуального списка
Если этот параметр включен, элемент управления поддерживает до элементов DWORD. Это возможно путем размещения затрат на управление данными элемента в приложении. За исключением сведений о выборе элемента и фокусе, все сведения об элементах должны управляться приложением. Дополнительные сведения см. в разделе "Использование
CListCtrl
: элементы управления виртуальным списком".Активация с одним и двумя щелчками
Если этот параметр включен, разрешает горячее отслеживание (автоматическое выделение текста элемента) и один или два щелчка активации выделенного элемента.
Перетаскивание порядка столбцов
Если этот параметр включен, допускает переупорядочение столбцов в элементе управления представлением списка. Доступно только в представлении отчета.
Сведения об использовании этих новых расширенных стилей см. в разделе "Использование CListCtrl
: изменение стилей элементов управления списком".
Элементы и вложенные элементы
Каждый элемент в элементе управления представлением списка состоит из значка (из списка изображений), метки, текущего состояния и определяемого приложением значения (называемого "данными элемента"). Один или несколько дочерних элементов также могут быть связаны с каждым элементом. Подсеть — это строка, которая в представлении отчета может отображаться в столбце справа от значка и метки элемента. Все элементы в элементе управления представлением списка должны иметь одинаковое количество вложенных элементов.
Класс CListCtrl
предоставляет несколько функций для вставки, удаления, поиска и изменения этих элементов. Дополнительные сведения см. в разделе CListCtrl::GetItem
, CListCtrl::InsertItem
а CListCtrl::FindItem
также добавление элементов в элемент управления и прокрутку, упорядочение, сортировку и поиск в элементах управления списками.
По умолчанию элемент управления представлением списка отвечает за хранение значков и текстовых атрибутов элемента. Однако в дополнение к этим типам элементов класс CListCtrl
поддерживает "элементы обратного вызова". Элемент обратного вызова — это элемент представления списка, для которого приложение, а не элемент управления, сохраняет текст, значок или оба элемента управления. Маска обратного вызова используется для указания атрибутов элементов (текста и/или значка), предоставляемых приложением. Если приложение использует элементы обратного вызова, оно должно иметь возможность предоставлять атрибуты текста и (или) значка по запросу. Элементы обратного вызова полезны, если приложение уже поддерживает некоторые из этих сведений. Дополнительные сведения см. в статье Using CListCtrl
: Callback Items and the Callback Mask.
Списки изображений
Значки, изображения элементов заголовка и определяемые приложением состояния для элементов представления списка содержатся в нескольких списках изображений (реализованных по классу CImageList
), которые создаются и назначаются элементу управления представлением списка. Каждый элемент управления представлением списка может содержать до четырех различных типов списков изображений:
Значок большого размера
Используется в представлении значков полного размера.
Маленький значок
Используется в небольших значках, списках и представлениях отчетов для небольших версий значков, используемых в представлении значков.
Определенное приложением состояние
Содержит изображения состояния, которые отображаются рядом со значком элемента, чтобы указать состояние, определенное приложением.
Элемент заголовка
Используется в представлении отчета для небольших изображений, которые отображаются в каждом элементе управления заголовком.
По умолчанию элемент управления представлением списка уничтожает списки изображений, назначенные ему при его уничтожении; Однако разработчик может настроить это поведение, уничтожая каждый список изображений, если он больше не используется, как определено приложением. Дополнительные сведения см. в разделе "Использование CListCtrl
: элементы списка и списки изображений".
Иерархия наследования
CListCtrl
Требования
Заголовок: afxcmn.h
CListCtrl::ApproximateViewRect
Определяет ширину и высоту, необходимую для отображения элементов элемента управления представлением списка.
CSize ApproximateViewRect(
CSize sz = CSize(-1, -1),
int iCount = -1) const;
Параметры
sz
Предлагаемые размеры элемента управления в пикселях. Если измерения не указаны, платформа использует текущие значения ширины или высоты элемента управления.
iCount
Количество элементов, отображаемых в элементе управления. Передайте -1, чтобы использовать общее количество элементов в данный момент в элементе управления.
Возвращаемое значение
Объект CSize
, содержащий приблизительную ширину и высоту, необходимую для отображения элементов в пикселях.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_ApproximateViewRect
как описано в пакете SDK для Windows.
CListCtrl::Arrange
Перемещает элементы в представлении значков, чтобы они выровнялись в сетке.
BOOL Arrange(UINT nCode);
Параметры
nCode
Задает стиль выравнивания элементов. Может иметь одно из следующих значений.
LVA_ALIGNLEFT
Выравнивает элементы по левому краю окна.LVA_ALIGNTOP
Выравнивает элементы вдоль верхнего края окна.LVA_DEFAULT
Выравнивание элементов в соответствии с текущими стилями выравнивания представления списка (значение по умолчанию).LVA_SNAPTOGRID
Привязывает все значки к ближайшей позиции сетки.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Параметр nCode
задает стиль выравнивания.
Пример
// Align all of the list view control items along the top
// of the window (the list view control must be in icon or
// small icon mode).
m_myListCtrl.Arrange(LVA_ALIGNTOP);
CListCtrl::CancelEditLabel
Отменяет операцию редактирования текста элемента.
void CancelEditLabel();
Замечания
Эта функция-член эмулирует функциональные возможности LVM_CANCELEDITLABEL
сообщения, как описано в пакете SDK для Windows.
CListCtrl::CListCtrl
Формирует объект CListCtrl
.
CListCtrl();
CListCtrl::Create
Создает элемент управления списка и присоединяет его к объекту CListCtrl
.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Параметры
dwStyle
Задает стиль элемента управления списком. Примените к элементу управления любое сочетание стилей элементов управления списком. Полный список этих стилей см . в стилях окна представления списка в пакете SDK для Windows. Задайте расширенные стили, относящиеся к элементу управления, с помощью SetExtendedStyle
.
rect
Указывает размер и позицию элемента управления списка. Это может быть CRect
объект или RECT
структура.
pParentWnd
Указывает родительское окно элемента управления списком, как правило, .CDialog
Он не должен иметь значение NULL.
nID
Указывает идентификатор элемента управления списка.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Вы создаете два CListCtrl
шага. Сначала вызовите конструктор, а затем вызов Create
, который создает элемент управления представлением списка и присоединяет его к объекту CListCtrl
.
Чтобы применить расширенные стили Windows к объекту управления списком, вызовите CreateEx
вместо Create
него.
Пример
m_myListCtrl.Create(
WS_CHILD|WS_VISIBLE|WS_BORDER|LVS_REPORT|LVS_EDITLABELS,
CRect(10,10,400,200), pParentWnd, IDD_MYLISTCTRL);
CListCtrl::CreateEx
Создает элемент управления (дочернее окно) и связывает его с CListCtrl
объектом.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Параметры
dwExStyle
Задает расширенный стиль создаваемого элемента управления. Список расширенных стилей Windows см. в параметре dwExStyle в CreateWindowEx
пакете SDK для Windows.
dwStyle
Задает стиль элемента управления списком. Примените к элементу управления любое сочетание стилей элементов управления списком. Полный список этих стилей см. в разделе "Стили окна представления списка" в пакете SDK для Windows.
rect
Ссылка на RECT
структуру, описывающую размер и положение создаваемого окна в координатах pParentWnd
клиента.
pParentWnd
Указатель на окно, которое является родительским элементом элемента управления.
nID
Идентификатор дочернего окна элемента управления.
Возвращаемое значение
Имеет ненулевое значение в случае успешного выполнения, иначе — 0.
Замечания
Используйте CreateEx
вместо Create
применения расширенных стилей Windows, указанных предисловием WS_EX_
расширенного стиля Windows.
CreateEx
создает элемент управления с расширенными стилями Windows, указанными dwExStyle
. Чтобы задать расширенные стили, относящиеся к элементу управления, вызовите SetExtendedStyle
. Например, используйте CreateEx
для задания таких стилей, как WS_EX_CONTEXTHELP, но используйте SetExtendedStyle
для задания таких стилей, как LVS_EX_FULLROWSELECT. Дополнительные сведения см. в статьях "Стили расширенного представления списка" в пакете SDK для Windows.
CListCtrl::CreateDragImage
Создает список изображений перетаскивания для элемента, указанного в nItem
.
CImageList* CreateDragImage(
int nItem,
LPPOINT lpPoint);
Параметры
*nItem*
Индекс элемента, список изображений которого необходимо создать.
lpPoint
POINT
Адрес структуры, получающей начальное расположение левого верхнего угла изображения в координатах представления.
Возвращаемое значение
Указатель на список изображений перетаскивания в случае успешного выполнения; в противном случае NULL
.
Замечания
Объект CImageList
является постоянным, и его необходимо удалить после завершения. Например:
CImageList* pImageList = m_myListCtrl.CreateDragImage(nItem, &point);
// do something
delete pImageList;
CListCtrl::DeleteAllItems
Удаляет все элементы из элемента управления представлением списка.
BOOL DeleteAllItems();
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
// Delete all of the items from the list view control.
m_myListCtrl.DeleteAllItems();
ASSERT(m_myListCtrl.GetItemCount() == 0);
CListCtrl::DeleteColumn
Удаляет столбец из элемента управления представлением списка.
BOOL DeleteColumn(int nCol);
Параметры
nCol
Индекс столбца, который необходимо удалить.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Delete all of the columns.
for (int i=0; i < nColumnCount; i++)
{
m_myListCtrl.DeleteColumn(0);
}
CListCtrl::DeleteItem
Удаляет элемент из элемента управления представлением списка.
BOOL DeleteItem(int nItem);
Параметры
nItem
Указывает индекс элемента, который нужно удалить.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
int nCount = m_myListCtrl.GetItemCount();
// Delete all of the items from the list view control.
for (int i=0; i < nCount; i++)
{
m_myListCtrl.DeleteItem(0);
}
CListCtrl::DrawItem
Вызывается платформой при изменении визуального аспекта элемента управления представлением списка владельца.
virtual void DrawItem(LPDRAWITEMSTRUCT lpDrawItemStruct);
Параметры
lpDrawItemStruct
Длинный DRAWITEMSTRUCT
указатель на структуру, содержащую сведения о типе документа, необходимом.
Замечания
Элемент itemAction
DRAWITEMSTRUCT
структуры определяет действие рисования, которое необходимо выполнить.
По умолчанию эта функция-член ничего не делает. Переопределите эту функцию-член, чтобы реализовать рисование для объекта owner-draw CListCtrl
.
Приложение должно восстановить все объекты интерфейса графического устройства (GDI), выбранные для контекста отображения, предоставленного lpDrawItemStruct
перед завершением этой функции-члена.
CListCtrl::EditLabel
Начинается редактирование текста элемента на месте.
CEdit* EditLabel(int nItem);
Параметры
nItem
Индекс элемента представления списка, который необходимо изменить.
Возвращаемое значение
В случае успешного CEdit
выполнения указатель на объект, используемый для изменения текста элемента; в противном случае NULL
.
Замечания
Элемент управления представлением списка с стилем LVS_EDITLABELS
окна позволяет пользователю изменять метки элементов. Пользователь начинает редактирование, щелкнув метку элемента с фокусом.
Используйте эту функцию для начала редактирования текста указанного элемента представления списка.
Пример
// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();
// Show the edit control on the label of the first
// item in the list view control.
CEdit* pmyEdit = m_myListCtrl.EditLabel(1);
ASSERT(pmyEdit != NULL);
CListCtrl::EnableGroupView
Включает или отключает, отображаются ли элементы в элементе управления представлением списка как группа.
LRESULT EnableGroupView(BOOL fEnable);
Параметры
fEnable
Указывает, следует ли включить элемент управления listview для группировки отображаемых элементов. TRUE
для включения группировки; FALSE
чтобы отключить его.
Возвращаемое значение
Возвращает одно из следующих значений:
- 0 Возможность отображения элементов представления списка в виде группы уже включена или отключена.
- 1 Состояние элемента управления было успешно изменено.
- -1 Сбой операции.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_ENABLEGROUPVIEW
сообщения, как описано в пакете SDK для Windows.
CListCtrl::EnsureVisible
Гарантирует, что элемент представления списка по крайней мере частично виден.
BOOL EnsureVisible(
int nItem,
BOOL bPartialOK);
Параметры
nItem
Индекс элемента представления списка, который должен быть видимым.
bPartialOK
Указывает, допустимо ли частичное видимость.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
При необходимости элемент управления представлением списка прокручивается. Если параметр bPartialOK не является ненулевой, прокрутка не возникает, если элемент частично отображается.
Пример
// Ensure that the last item is visible.
int nCount = m_myListCtrl.GetItemCount();
if (nCount > 0)
m_myListCtrl.EnsureVisible(nCount-1, FALSE);
CListCtrl::FindItem
Ищет элемент представления списка с указанными характеристиками.
int FindItem(
LVFINDINFO* pFindInfo,
int nStart = -1) const;
Параметры
pFindInfo
Указатель на структуру LVFINDINFO
, содержащую сведения о элементе для поиска.
nStart
Индекс элемента, с которым начинается поиск, или -1, который начинается с начала. nStart
Элемент в поиске исключен, если nStart
не равен -1.
Возвращаемое значение
Индекс элемента при успешном выполнении или -1 в противном случае.
Замечания
Параметр pFindInfo
указывает на LVFINDINFO
структуру, содержащую сведения, используемые для поиска элемента представления списка.
Пример
LVFINDINFO info;
int nIndex;
info.flags = LVFI_PARTIAL|LVFI_STRING;
info.psz = _T("item");
// Delete all of the items that begin with the string.
while ((nIndex = m_myListCtrl.FindItem(&info)) != -1)
{
m_myListCtrl.DeleteItem(nIndex);
}
CListCtrl::GetBkColor
Извлекает цвет фона элемента управления представлением списка.
COLORREF GetBkColor() const;
Возвращаемое значение
32-разрядное значение, используемое для указания цвета RGB.
Пример
Пример см. в примере CListCtrl::SetBkColor
.
CListCtrl::GetBkImage
Извлекает текущее фоновое изображение элемента управления представлением списка.
BOOL GetBkImage(LVBKIMAGE* plvbkImage) const;
Параметры
plvbkImage
Указатель на LVBKIMAGE
структуру, содержащую текущее фоновое изображение представления списка.
Возвращаемое значение
Возвращает ненулевое значение в случае успешного выполнения или нуля.
Замечания
Этот метод реализует поведение макроса Win32, ListView_GetBkImage
как описано в пакете SDK для Windows.
Пример
LVBKIMAGE bki;
// If no background image is set for the list view control use
// the Microsoft homepage image as the background image.
if (m_myListCtrl.GetBkImage(&bki) && (bki.ulFlags == LVBKIF_SOURCE_NONE))
{
m_myListCtrl.SetBkImage(
_T("https://www.microsoft.com/library/images/gifs/homepage/microsoft.gif"),
TRUE);
}
CListCtrl::GetCallbackMask
Извлекает маску обратного вызова для элемента управления представлением списка.
UINT GetCallbackMask() const;
Возвращаемое значение
Маска обратного вызова элемента управления представлением списка.
Замечания
Элемент обратного вызова — это элемент представления списка, для которого приложение, а не элемент управления, сохраняет текст, значок или оба элемента управления. Хотя элемент управления представлением списка может хранить эти атрибуты, вы можете использовать элементы обратного вызова, если приложение уже поддерживает некоторые из этих сведений. Маска обратного вызова указывает, какие биты состояния элемента поддерживаются приложением, и он применяется ко всему элементу управления, а не к конкретному элементу. Маска обратного вызова по умолчанию равна нулю, то есть элемент управления отслеживает все состояния элементов. Если приложение использует элементы обратного вызова или задает маску обратного вызова ненулевого вызова, он должен иметь возможность предоставлять атрибуты элемента представления списка по запросу.
Пример
Пример см. в примере CListCtrl::SetCallbackMask
.
CListCtrl::GetCheck
Извлекает текущее состояние отображения изображения состояния, связанного с элементом.
BOOL GetCheck(int nItem) const;
Параметры
nItem
Отсчитываемый от нуля индекс элемента управления списком.
Возвращаемое значение
Ненулевое значение, если элемент выбран, в противном случае — значение 0.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetCheckState
как описано в пакете SDK для Windows.
Пример
Пример см. в примере CListCtrl::SetCheck
.
CListCtrl::GetColumn
Извлекает атрибуты столбца элемента управления представлением списка.
BOOL GetColumn(
int nCol,
LVCOLUMN* pColumn) const;
Параметры
nCol
Индекс столбца, атрибуты которого необходимо извлечь.
pColumn
LVCOLUMN
Адрес структуры, указывающей сведения для получения и получения сведений о столбце. Элемент mask
указывает, какие атрибуты столбца необходимо извлечь. mask
Если элемент задает значение LVCF_TEXT, pszText
элемент должен содержать адрес буфера, получающего текст элемента, и cchTextMax
элемент должен указать размер буфера.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Структура LVCOLUMN
содержит сведения о столбце в представлении отчета.
Пример
LVCOLUMN col;
col.mask = LVCF_WIDTH;
// Double the column width of the first column.
if (m_myListCtrl.GetColumn(0, &col))
{
col.cx *= 2;
m_myListCtrl.SetColumn(0, &col);
}
CListCtrl::GetColumnOrderArray
Извлекает порядок столбцов (слева направо) элемента управления представлением списка.
BOOL GetColumnOrderArray(
LPINT piArray,
int iCount = -1);
Параметры
piArray
Указатель на буфер, содержащий значения индекса столбцов в элементе управления представлением списка. Буфер должен быть достаточно большим, чтобы содержать общее количество столбцов в элементе управления представлением списка.
iCount
Количество столбцов в элементе управления представлением списка. Если этот параметр равен -1, число столбцов автоматически извлекается платформой.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetColumnOrderArray
как описано в пакете SDK для Windows.
Пример
// Reverse the order of the columns in the list view control
// (i.e. make the first column the last, the last column
// the first, and so on...).
CHeaderCtrl* pHeaderCtrl = m_myListCtrl.GetHeaderCtrl();
if (pHeaderCtrl != NULL)
{
int nColumnCount = pHeaderCtrl->GetItemCount();
LPINT pnOrder = (LPINT) malloc(nColumnCount*sizeof(int));
ASSERT(pnOrder != NULL);
m_myListCtrl.GetColumnOrderArray(pnOrder, nColumnCount);
int i, j, nTemp;
for (i = 0, j = nColumnCount-1; i < j; i++, j--)
{
nTemp = pnOrder[i];
pnOrder[i] = pnOrder[j];
pnOrder[j] = nTemp;
}
m_myListCtrl.SetColumnOrderArray(nColumnCount, pnOrder);
free(pnOrder);
}
CListCtrl::GetColumnWidth
Извлекает ширину столбца в представлении отчета или представлении списка.
int GetColumnWidth(int nCol) const;
Параметры
nCol
Указывает индекс столбца, ширина которого должна быть извлечена.
Возвращаемое значение
Ширина (в пикселях) столбца, указанного в параметре nCol
.
Пример
// Increase the column width of the second column by 20.
int nWidth = m_myListCtrl.GetColumnWidth(1);
m_myListCtrl.SetColumnWidth(1, 20 + nWidth);
CListCtrl::GetCountPerPage
Вычисляет количество элементов, которые могут помещаться по вертикали в видимой области элемента управления представлением списка при просмотре списка или представлении отчета.
int GetCountPerPage() const;
Возвращаемое значение
Количество элементов, которые могут помещаться по вертикали в видимой области элемента управления представлением списка при просмотре списка или представлении отчета.
Пример
Пример см. в примере CListCtrl::GetTopIndex
.
CListCtrl::GetEditControl
Извлекает дескриптор элемента управления редактирования, используемый для редактирования текста элемента представления списка.
CEdit* GetEditControl() const;
Возвращаемое значение
В случае успешного CEdit
выполнения указатель на объект, используемый для изменения текста элемента; в противном случае NULL
.
Пример
// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("custom label!");
// If possible, replace the text in the label edit control.
CEdit* pEdit = m_myListCtrl.GetEditControl();
if (pEdit != NULL)
{
pEdit->SetWindowText(lpszmyString);
}
CListCtrl::GetEmptyText
Извлекает строку для отображения, если текущий элемент управления представлением списка пуст.
CString GetEmptyText() const;
Возвращаемое значение
Объект, CString
содержащий текст для отображения, если элемент управления пуст.
Замечания
Этот метод отправляет LVM_GETEMPTYTEXT
сообщение, описанное в пакете SDK для Windows.
CListCtrl::GetExtendedStyle
Извлекает текущие расширенные стили элемента управления представлением списка.
DWORD GetExtendedStyle();
Возвращаемое значение
Сочетание расширенных стилей, используемых элементом управления представлением списка. Описательный список этих расширенных стилей см . в статье "Стили расширенного представления списков " в пакете SDK для Windows.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetExtendedListViewStyle
как описано в пакете SDK для Windows.
Пример
Пример см. в примере CListCtrl::SetExtendedStyle
.
CListCtrl::GetFirstSelectedItemPosition
Возвращает позицию первого выбранного элемента в элементе управления представлением списка.
POSITION GetFirstSelectedItemPosition() const;
Возвращаемое значение
POSITION
Значение, которое можно использовать для итерации или извлечения указателя объекта; NULL
если элементы не выбраны.
Пример
В следующем примере кода показано использование этой функции.
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_myListCtrl.GetNextSelectedItem(pos);
TRACE(_T("Item %d was selected!\n"), nItem);
// you could do your own processing on nItem here
}
}
CListCtrl::GetFocusedGroup
Извлекает группу с фокусом клавиатуры в текущем элементе управления представлением списка.
int GetFocusedGroup() const;
Возвращаемое значение
Индекс группы, состояние которой имеет значение LVGS_FOCUSED
, если есть такая группа; в противном случае — значение -1.
Замечания
Этот метод отправляет LVM_GETFOCUSEDGROUP
сообщение, описанное в пакете SDK для Windows. Дополнительные сведения см. в LVGS_FOCUSED
разделе о значении state
элемента LVGROUP
структуры.
CListCtrl::GetGroupCount
Извлекает количество групп в текущем элементе управления представлением списка.
int GetGroupCount()const;
Возвращаемое значение
Количество групп в элементе управления "Представление списка".
Замечания
Этот метод отправляет LVM_GETGROUPCOUNT
сообщение, описанное в пакете SDK для Windows .->.
CListCtrl::GetGroupInfo
Возвращает сведения для указанной группы элемента управления представлением списка.
int GetGroupInfo(
int iGroupId,
PLVGROUP pgrp) const;
Параметры
iGroupId
Идентификатор группы, сведения которой необходимо получить.
pgrp
Указатель на LVGROUP
содержащую информацию о указанной группе.
Возвращаемое значение
Возвращает идентификатор группы в случае успешного выполнения или -1 в противном случае.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETGROUPINFO
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetGroupInfoByIndex
Извлекает сведения об указанной группе в текущем элементе управления представлением списка.
BOOL GetGroupInfoByIndex(
int iIndex,
PLVGROUP pGroup) const;
Параметры
iIndex
[in] Отсчитываемый от нуля индекс группы.
pGroup
[out] Указатель на структуру LVGROUP , которая получает сведения о группе, указанной параметром iIndex . Вызывающий объект отвечает за инициализацию членов структуры LVGROUP . cbSize
Задайте элементу размер структуры и флаги mask
элемента, чтобы указать данные для получения.
Возвращаемое значение
TRUE
Значение , если этот метод выполнен успешно; FALSE
в противном случае .
Замечания
Этот метод отправляет LVM_GETGROUPINFOBYINDEX
сообщение, описанное в пакете SDK для Windows .->.
Пример
Первый пример кода определяет переменную, m_listCtrl
которая используется для доступа к текущему элементу управления представления списка. Эта переменная используется в следующем примере.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
В следующем примере кода демонстрируется GetGroupInfoByIndex
метод. В предыдущем разделе этого примера кода мы создали элемент управления представлением списка, который отображает два столбца с заголовком ClientID и Grade в представлении отчета. В следующем примере кода извлекаются сведения о группе, индекс которой равен 0, если такая группа существует.
// GetGroupInfoByIndex
const int GROUP_HEADER_BUFFER_SIZE = 40;
// Initialize the structure
LVGROUP gInfo = {0};
gInfo.cbSize = sizeof(LVGROUP);
wchar_t wstrHeadGet[GROUP_HEADER_BUFFER_SIZE] = {0};
gInfo.cchHeader = GROUP_HEADER_BUFFER_SIZE;
gInfo.pszHeader = wstrHeadGet;
gInfo.mask = (LVGF_ALIGN | LVGF_STATE | LVGF_HEADER | LVGF_GROUPID);
gInfo.state = LVGS_NORMAL;
gInfo.uAlign = LVGA_HEADER_LEFT;
BOOL bRet = m_listCtrl.GetGroupInfoByIndex( 0, &gInfo );
if (bRet == TRUE) {
CString strHeader = CString( gInfo.pszHeader );
CString str;
str.Format(_T("Header: '%s'"), strHeader);
AfxMessageBox(str, MB_ICONINFORMATION);
}
else
{
AfxMessageBox(_T("No group information was retrieved."));
}
CListCtrl::GetGroupMetrics
Извлекает метрики группы.
void GetGroupMetrics(PLVGROUPMETRICS pGroupMetrics) const;
Параметры
pGroupMetrics
Указатель на LVGROUPMETRICS
сведения о группах метрик.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETGROUPMETRICS
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetGroupRect
Извлекает ограничивающий прямоугольник для указанной группы в текущем элементе управления представлением списка.
BOOL GetGroupRect(
int iGroupId,
LPRECT lpRect,
int iCoords = LVGGR_GROUP) const;
Параметры
iGroupId
[in] Указывает группу.
lpRect
[in, out] Указатель на структуру RECT
. Если этот метод выполнен успешно, структура получает координаты прямоугольника группы, указанной iGroupId
в .
iCoords
[in] Задает координаты прямоугольника для извлечения. Используйте одно из следующих значений:
LVGGR_GROUP
— (по умолчанию) Координаты всей развернутой группы.LVGGR_HEADER
— координаты только заголовка (свернутая группа).LVGGR_SUBSETLINK
— Координаты только подмножества (подмножество разметки).
Возвращаемое значение
TRUE
Значение , если этот метод выполнен успешно; FALSE
в противном случае .
Замечания
Вызывающий объект отвечает за выделение RECT
структуры, на которую указывает pRect
параметр.
Этот метод отправляет LVM_GETGROUPRECT
сообщение, описанное в пакете SDK для Windows.
Пример
Первый пример кода определяет переменную, m_listCtrl
которая используется для доступа к текущему элементу управления представления списка. Эта переменная используется в следующем примере.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
В следующем примере кода демонстрируется GetGroupRect
метод. В предыдущем разделе этого примера кода мы создали элемент управления представлением списка, который отображает два столбца с заголовком ClientID и Grade в представлении отчета. Следующий пример кода рисует трехмерный прямоугольник вокруг группы, индекс которой равен 0, если такая группа существует.
// GetGroupRect
// Get the graphics rectangle that surrounds group 0.
CRect rect;
BOOL bRet = m_listCtrl.GetGroupRect( 0, &rect, LVGGR_GROUP);
// Draw a blue rectangle around group 0.
if (bRet == TRUE) {
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(0, 0, 255), RGB(0, 0, 255));
}
else {
AfxMessageBox(_T("No group information was retrieved."), MB_ICONINFORMATION);
}
CListCtrl::GetGroupState
Извлекает состояние для указанной группы в текущем элементе управления представлением списка.
UINT GetGroupState(
int iGroupId,
DWORD dwMask) const;
Параметры
iGroupId
[in] Отсчитываемый от нуля индекс группы.
dwMask
[in] Маска, указывающая значение состояния для получения указанной группы. Дополнительные сведения см. в mask
элементе LVGROUP
структуры.
Возвращаемое значение
Запрошенное состояние для указанной группы или 0, если не удается найти группу.
Замечания
Возвращаемое значение является результатом побитовой операции AND в dwMask
параметре и значении state
элемента LVGROUP
структуры, представляющей текущий элемент управления представлением списка.
Этот метод отправляет LVM_GETGROUPSTATE
сообщение, описанное в пакете SDK для Windows. Дополнительные сведения см. в макросе ListView_GetGroupState
.
CListCtrl::GetHeaderCtrl
Извлекает элемент управления заголовком элемента управления представлением списка.
CHeaderCtrl* GetHeaderCtrl();
Возвращаемое значение
Указатель на элемент управления заголовком, используемый элементом управления представлением списка.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetHeader
как описано в пакете SDK для Windows.
Пример
Пример см. в примере CListCtrl::GetColumnOrderArray
.
CListCtrl::GetHotCursor
Извлекает курсор, используемый при включении горячего отслеживания для элемента управления представлением списка.
HCURSOR GetHotCursor();
Возвращаемое значение
Дескриптор текущего ресурса горячего курсора, используемого элементом управления представлением списка.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetHotCursor
как описано в пакете SDK для Windows. Горячий курсор, видимый только при включенном выборе наведения указателя мыши, отображается, когда курсор передает любой элемент представления списка. Выбор наведения указателя мыши включен, задав расширенный стиль LVS_EX_TRACKSELECT.
Пример
// Set the hot cursor to be the system app starting cursor.
HCURSOR hCursor = ::LoadCursor(NULL, IDC_APPSTARTING);
m_myListCtrl.SetHotCursor(hCursor);
ASSERT(m_myListCtrl.GetHotCursor() == hCursor);
CListCtrl::GetHotItem
Извлекает элемент представления списка в данный момент под курсором.
int GetHotItem();
Возвращаемое значение
Индекс текущего горячего элемента элемента элемента управления представлением списка.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetHotItem
как описано в пакете SDK для Windows. Горячий элемент определяется как выбранный в данный момент элемент при включенном горячем отслеживании (и выборе наведения указателя мыши).
Если включена горячая отслеживание, когда пользователь приостанавливается над элементом представления списка, метка элемента автоматически выделяется без использования кнопки мыши.
Пример
// Set the hot item to the first item only if no other item is
// highlighted.
if (m_myListCtrl.GetHotItem() == -1)
m_myListCtrl.SetHotItem(0);
CListCtrl::GetHoverTime
Извлекает текущее время наведения элемента управления представлением списка.
DWORD GetHoverTime() const;
Возвращаемое значение
Возвращает задержку в миллисекундах, которые курсор мыши должен наведите указатель мыши на элемент перед его выбором. Если возвращаемое значение равно -1, то время наведения указателя по умолчанию — это время наведения указателя по умолчанию.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetHoverTime
как описано в пакете SDK для Windows.
Пример
// If the hover time is the default set to 1 sec.
DWORD dwTime = m_myListCtrl.GetHoverTime();
if (dwTime == -1)
m_myListCtrl.SetHoverTime(1000);
CListCtrl::GetImageList
Извлекает дескриптор списка изображений, используемый для элементов представления списка рисования.
CImageList* GetImageList(int nImageList) const;
Параметры
nImageList
Значение, указывающее, какой список изображений требуется получить. Это может быть одно из следующих значений:
LVSIL_NORMAL
Список изображений с большими значками.LVSIL_SMALL
Список изображений с небольшими значками.LVSIL_STATE
Список изображений с изображениями состояния.
Возвращаемое значение
Указатель на список изображений, используемый для элементов представления списка рисунков.
Пример
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == NULL);
m_myListCtrl.SetImageList(&m_lcImageList, LVSIL_NORMAL);
ASSERT(m_myListCtrl.GetImageList(LVSIL_NORMAL) == &m_lcImageList);
CListCtrl::GetInsertMark
Извлекает текущую позицию метки вставки.
BOOL GetInsertMark(LPLVINSERTMARK plvim) const;
Параметры
plvim
Указатель на LVINSERTMARK
структуру, содержащую сведения для метки вставки.
Возвращаемое значение
Возвращается TRUE
в случае успешного выполнения или в FALSE
противном случае. FALSE
возвращается, если размер в cbSize
элементе LVINSERTMARK
структуры не равен фактическому размеру структуры.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETINSERTMARK
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetInsertMarkColor
Извлекает текущий цвет метки вставки.
COLORREF GetInsertMarkColor() const;
Возвращаемое значение
COLORREF
Возвращает структуру, содержащую цвет точки вставки.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETINSERTMARKCOLOR
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetInsertMarkRect
Извлекает прямоугольник, ограничивающий точку вставки.
int GetInsertMarkRect(LPRECT pRect) const;
Параметры
pRect
Указатель на RECT
структуру, содержащую координаты прямоугольника, ограничивающего точку вставки.
Возвращаемое значение
Возвращает одно из следующих значений:
- 0 Не найдена точка вставки.
- 1 Точка вставки найдена.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETINSERTMARKRECT
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetItem
Извлекает некоторые или все атрибуты элемента представления списка.
BOOL GetItem(LVITEM* pItem) const;
Параметры
pItem
Указатель на структуру LVITEM
, которая получает атрибуты элемента.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Структура LVITEM
задает или получает атрибуты элемента представления списка.
CListCtrl::GetItemCount
Извлекает количество элементов в элементе управления представлением списка.
int GetItemCount() const;
Возвращаемое значение
Количество элементов в элементе управления представлением списка.
Пример
Пример см. в примере CListCtrl::DeleteItem
.
CListCtrl::GetItemData
Извлекает 32-разрядное значение для конкретного приложения (64-разрядное значение, если вы компилируете для x64), связанное с элементом, указанным в nItem
нем.
DWORD_PTR GetItemData(int nItem) const;
Параметры
nItem
Индекс элемента списка, данные которого необходимо извлечь.
Возвращаемое значение
32-разрядная (64-разрядная версия, если вы компилируетсяе для приложения x64), связанное с указанным элементом.
Замечания
Это значение является lParam
членом LVITEM
структуры, как описано в пакете SDK для Windows
Пример
// If any item's data is equal to zero then reset it to -1.
for (int i=0; i < m_myListCtrl.GetItemCount(); i++)
{
if (m_myListCtrl.GetItemData(i) == 0)
{
m_myListCtrl.SetItemData(i, (DWORD) -1);
}
}
CListCtrl::GetItemIndexRect
Извлекает ограничивающий прямоугольник для всех или части подсети в текущем элементе управления представлением списка.
BOOL GetItemIndexRect(
PLVITEMINDEX pItemIndex,
int iColumn,
int rectType,
LPRECT pRect) const;
Параметры
pItemIndex
[in] Указатель на структуру LVITEMINDEX
родительского элемента дочернего элемента. Вызывающий объект отвечает за выделение и настройку членов LVITEMINDEX
структуры. Этот параметр не может быть NULL
.
iColumn
[in] Отсчитываемый от нуля индекс столбца в элементе управления.
rectType
[in] Часть подitem представления списка, для которой извлекается ограничивающий прямоугольник. Укажите одно из следующих значений.
LVIR_BOUNDS
— возвращает ограничивающий прямоугольник всего подсети, включая значок и метку.LVIR_ICON
— возвращает ограничивающий прямоугольник значка или небольшого значка подсети.LVIR_LABEL
— возвращает ограничивающий прямоугольник текста подсети.
pRect
[out] Указатель на RECT
структуру, которая получает сведения о ограничивающем прямоугольнике дочернего объекта. Вызывающий объект отвечает за выделение RECT
структуры. Этот параметр не может быть NULL
.
Возвращаемое значение
TRUE
Значение , если этот метод выполнен успешно; FALSE
в противном случае .
Замечания
Этот метод отправляет LVM_GETITEMINDEXRECT
сообщение, описанное в пакете SDK для Windows. Дополнительные сведения см. в разделе ListView_GetItemIndexRect
"Макрос".
Пример
Первый пример кода определяет переменную, m_listCtrl
которая используется для доступа к текущему элементу управления представления списка. Эта переменная используется в следующем примере.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
В следующем примере кода демонстрируется GetGroupRect
метод. Перед вводом этого примера кода мы создали элемент управления представлением списка, который отображает два столбца с заголовком ClientID и Grade в представлении отчета. В следующем примере кода показано, как нарисовать трехмерный прямоугольник вокруг второго дочернего элемента в обоих столбцах.
// GetItemIndexRect
// Get the rectangle that bounds the second item in the first group.
LVITEMINDEX lvItemIndex;
lvItemIndex.iGroup = 0;
lvItemIndex.iItem = 1;
CRect rect;
BOOL bRet = m_listCtrl.GetItemIndexRect(
&lvItemIndex, 0, LVIR_BOUNDS, &rect);
// Draw a red rectangle around the item.
m_listCtrl.GetDC()->Draw3dRect( &rect, RGB(255, 0, 0), RGB(255, 0, 0) );
CListCtrl::GetItemPosition
Извлекает позицию элемента представления списка.
BOOL GetItemPosition(
int nItem,
LPPOINT lpPoint) const;
Параметры
nItem
Индекс элемента, позиция которого должна быть извлечена.
lpPoint
POINT
Адрес структуры, получающей позицию левого верхнего угла элемента в координатах представления.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
POINT pt;
// Move all items in the list control 100 pixels to the right.
UINT i, nCount = m_myListCtrl.GetItemCount();
for (i=0; i < nCount; i++)
{
m_myListCtrl.GetItemPosition(i, &pt);
pt.x += 100;
m_myListCtrl.SetItemPosition(i, pt);
}
CListCtrl::GetItemRect
Извлекает ограничивающий прямоугольник для всех или части элемента в текущем представлении.
BOOL GetItemRect(
int nItem,
LPRECT lpRect,
UINT nCode) const;
Параметры
nItem
Индекс элемента, позиция которого должна быть извлечена.
lpRect
RECT
Адрес структуры, получающей ограничивающий прямоугольник.
nCode
Часть элемента представления списка, для которого извлекается ограничивающий прямоугольник. Это может быть одно из следующих значений:
LVIR_BOUNDS
Возвращает ограничивающий прямоугольник всего элемента, включая значок и метку.LVIR_ICON
Возвращает ограничивающий прямоугольник значка или небольшого значка.LVIR_LABEL
Возвращает ограничивающий прямоугольник текста элемента.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
// OnClick is the handler for the NM_CLICK notification
void CListCtrlDlg::OnClick(NMHDR* pNMHDR, LRESULT* pResult)
{
UNREFERENCED_PARAMETER(pResult);
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
// Get the current mouse location and convert it to client
// coordinates.
CPoint pos( ::GetMessagePos() );
ScreenToClient(&pos);
// Get indexes of the first and last visible items in
// the listview control.
int index = m_myListCtrl.GetTopIndex();
int last_visible_index = index + m_myListCtrl.GetCountPerPage();
if (last_visible_index > m_myListCtrl.GetItemCount())
last_visible_index = m_myListCtrl.GetItemCount();
// Loop until number visible items has been reached.
while (index <= last_visible_index)
{
// Get the bounding rectangle of an item. If the mouse
// location is within the bounding rectangle of the item,
// you know you have found the item that was being clicked.
CRect r;
m_myListCtrl.GetItemRect(index, &r, LVIR_BOUNDS);
if (r.PtInRect(pia->ptAction))
{
UINT flag = LVIS_SELECTED | LVIS_FOCUSED;
m_myListCtrl.SetItemState(index, flag, flag);
break;
}
// Get the next item in listview control.
index++;
}
}
CListCtrl::GetItemSpacing
Вычисляет интервал между элементами в текущем элементе управления представлением списка.
BOOL GetItemSpacing(
BOOL fSmall,
int* pnHorzSpacing,
int* pnVertSpacing) const;
Параметры
fSmall
[in] Представление, для которого извлекается интервал элемента. Укажите TRUE
для представления небольших значков или FALSE
представления значков.
pnHorzSpacing
[out] Содержит горизонтальный интервал между элементами.
pnVertSpacing
[out] Содержит вертикальный интервал между элементами.
Возвращаемое значение
TRUE
Значение , если этот метод выполнен успешно; FALSE
в противном случае .
Замечания
Этот метод отправляет LVM_GETITEMSPACING
сообщение, описанное в пакете SDK для Windows.
CListCtrl::GetItemState
Извлекает состояние элемента представления списка.
UINT GetItemState(
int nItem,
UINT nMask) const;
Параметры
nItem
Индекс элемента, состояние которого требуется извлечь.
nMask
Маска, указывающая, какие флаги состояния элемента необходимо вернуть.
Возвращаемое значение
Флаги состояния для указанного элемента представления списка.
Замечания
Состояние элемента определяется state
членом LVITEM
структуры, как описано в пакете SDK для Windows. При указании или изменении состояния stateMask
элемента элемент указывает, какие биты состояния необходимо изменить.
Пример
Пример см. в примере CListCtrl::GetTopIndex
.
CListCtrl::GetItemText
Извлекает текст элемента представления списка или подсети.
int GetItemText(
int nItem,
int nSubItem,
LPTSTR lpszText,
int nLen) const;
CString GetItemText(
int nItem,
int nSubItem) const;
Параметры
nItem
Индекс элемента, текст которого требуется извлечь.
nSubItem
Указывает подсеть, текст которого требуется извлечь.
lpszText
Указатель на строку, которая требуется получить текст элемента.
nLen
Длина буфера, на которую указывает lpszText
.
Возвращаемое значение
Возвращаемая int
версия возвращает длину полученной строки.
Версия, возвращающая CString
текст элемента.
Замечания
Если nSubItem
значение равно нулю, эта функция извлекает метку элемента; если nSubItem
ненулевое значение, оно извлекает текст подсети. Дополнительные сведения о аргументе подсети см. в обсуждении LVITEM
структуры в пакете SDK для Windows.
CListCtrl::GetNextItem
Выполняет поиск элемента представления списка с указанными свойствами и имеет указанную связь с заданным элементом.
int GetNextItem(
int nItem,
int nFlags) const;
Параметры
nItem
Индекс элемента, с которым начинается поиск, или -1, чтобы найти первый элемент, соответствующий указанным флагам. Указанный элемент исключается из поиска.
nFlags
Геометрическое отношение запрошенного элемента к указанному элементу и состоянию запрошенного элемента. Геометрическое отношение может быть одним из следующих значений:
LVNI_ABOVE
Выполняет поиск элемента, превышающего указанный элемент.LVNI_ALL
Выполняет поиск последующего элемента по индексу (значение по умолчанию).LVNI_BELOW
Ищет элемент, который находится под указанным элементом.LVNI_TOLEFT
Выполняет поиск элемента слева от указанного элемента.LVNI_TORIGHT
Выполняет поиск элемента справа от указанного элемента.
Состояние может быть равно нулю или может быть одним или несколькими из следующих значений:
LVNI_DROPHILITED
Элемент имеет набор флагаLVIS_DROPHILITED
состояния.LVNI_FOCUSED
Элемент имеет набор флагаLVIS_FOCUSED
состояния.LVNI_SELECTED
Элемент имеет набор флагаLVIS_SELECTED
состояния.
Если элемент не имеет всех указанных флагов состояния, поиск продолжается со следующим элементом.
Возвращаемое значение
Индекс следующего элемента при успешном выполнении или -1 в противном случае.
CListCtrl::GetNextItemIndex
Извлекает индекс элемента в текущем элементе управления представления списка, который содержит указанный набор свойств.
BOOL GetNextItemIndex(
PLVITEMINDEX pItemIndex,
int nFlags) const;
Параметры
pItemIndex
[in, out] Указатель на LVITEMINDEX
структуру, описывающую элемент, где начинается поиск, или -1, чтобы найти первый элемент, соответствующий флагам в параметре nFlags . Если этот метод выполнен успешно, структура описывает элемент, LVITEMINDEX
найденный поиском.
nFlags
[in] Побитовое сочетание флагов (OR), указывающее, как выполнять поиск. Поиск может зависеть от индекса, состояния или внешнего вида целевого элемента или физической позиции целевого элемента относительно элемента, указанного параметром pItemIndex
. Дополнительные сведения см flags
. в разделе "Параметр" в сообщении LVM_GETNEXTITEMINDEX
.
Возвращаемое значение
TRUE
Значение , если этот метод выполнен успешно; FALSE
в противном случае .
Замечания
Вызывающий объект отвечает за выделение и настройку членов LVITEMINDEX
структуры, на которую указывает pItemIndex
параметр.
Этот метод отправляет LVM_GETNEXTITEMINDEX
сообщение, описанное в пакете SDK для Windows.
CListCtrl::GetNextSelectedItem
Возвращает индекс элемента списка, определяемого ими pos
, а затем задает pos
значение POSITION.
int GetNextSelectedItem(POSITION& pos) const;
Параметры
pos
Ссылка на значение POSITION, возвращаемое предыдущим вызовом GetNextSelectedItem
или GetFirstSelectedItemPosition
. Значение обновляется до следующей позиции с помощью этого вызова.
Возвращаемое значение
Индекс элемента списка, определяемого по pos
.
Замечания
Вы можете использовать GetNextSelectedItem
в цикле итерации пересылки, если установить начальную позицию с вызовом GetFirstSelectedItemPosition
.
Необходимо убедиться, что значение POSITION
является допустимым. Если это недопустимо, то утверждается отладочная версия библиотеки классов Microsoft Foundation.
Пример
В следующем примере кода показано использование этой функции.
POSITION pos = m_myListCtrl.GetFirstSelectedItemPosition();
if (pos == NULL)
{
TRACE(_T("No items were selected!\n"));
}
else
{
while (pos)
{
int nItem = m_myListCtrl.GetNextSelectedItem(pos);
TRACE(_T("Item %d was selected!\n"), nItem);
// you could do your own processing on nItem here
}
}
CListCtrl::GetNumberOfWorkAreas
Извлекает текущее количество рабочих областей для элемента управления представлением списка.
UINT GetNumberOfWorkAreas() const;
Возвращаемое значение
В настоящее время не используется.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetNumberOfWorkAreas
как описано в пакете SDK для Windows.
Пример
UINT i, uCount = m_myListCtrl.GetNumberOfWorkAreas();
LPRECT lpRects = (LPRECT) malloc(uCount*sizeof(RECT));
if (lpRects != NULL)
{
// Dump all of the work area dimensions.
m_myListCtrl.GetWorkAreas(uCount, lpRects);
for (i=0; i < uCount; i++)
{
TRACE(_T("Work area %d; left = %d, top = %d, right = %d, ")
_T("bottom = %d\r\n"),
i, lpRects[i].left, lpRects[i].top, lpRects[i].right,
lpRects[i].bottom);
}
free(lpRects);
}
else
{
TRACE(_T("Couldn't allocate enough memory!"));
}
CListCtrl::GetOutlineColor
Извлекает цвет границы элемента управления представлением списка.
COLORREF GetOutlineColor() const;
Возвращаемое значение
Возвращает структуру COLORREF
, содержащую цвет контура.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETOUTLINECOLOR
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetOrigin
Извлекает текущий источник представления для элемента управления представлением списка.
BOOL GetOrigin(LPPOINT lpPoint) const;
Параметры
lpPoint
POINT
Адрес структуры, получающей источник представления.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0. Однако если элемент управления находится в представлении отчета, возвращаемое значение всегда равно нулю.
CListCtrl::GetSelectedColumn
Извлекает индекс выбранного столбца в элементе управления списком.
UINT GetSelectedColumn() const;
Возвращаемое значение
Индекс выбранного столбца.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETSELECTEDCOLUMN
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetSelectedCount
Извлекает количество выбранных элементов в элементе управления представлением списка.
UINT GetSelectedCount() const;
Возвращаемое значение
Количество выбранных элементов в элементе управления представлением списка.
Пример
UINT i, uSelectedCount = m_myListCtrl.GetSelectedCount();
int nItem = -1;
// Update all of the selected items.
if (uSelectedCount > 0)
{
for (i=0; i < uSelectedCount; i++)
{
nItem = m_myListCtrl.GetNextItem(nItem, LVNI_SELECTED);
ASSERT(nItem != -1);
m_myListCtrl.Update(nItem);
}
}
CListCtrl::GetSelectionMark
Извлекает знак выбора элемента управления представлением списка.
int GetSelectionMark();
Возвращаемое значение
Отсчитываемый от нуля знак выделения или -1, если нет знака выбора.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetSelectionMark
как описано в пакете SDK для Windows.
Пример
// Set the selection mark to the first item only if no other item is
// selected.
if (m_myListCtrl.GetSelectionMark() == -1)
m_myListCtrl.SetSelectionMark(0);
CListCtrl::GetStringWidth
Определяет минимальную ширину столбца, необходимую для отображения всей заданной строки.
int GetStringWidth(LPCTSTR lpsz) const;
Параметры
lpsz
Адрес строки, завершаемой значением NULL, ширина которой должна быть определена.
Возвращаемое значение
Ширина в пикселях строки, на которую указывает lpsz
.
Замечания
Возвращаемая ширина учитывает текущие поля шрифта и столбца элемента управления, но не ширину небольшого значка.
Пример
CString strColumn;
int nWidth;
// Insert six columns in the list view control. Make the width of
// the column be the width of the column header plus 50%.
for (int i = 0; i < 6; i++)
{
strColumn.Format(_T("column %d"), i);
nWidth = 3*m_myListCtrl.GetStringWidth(strColumn)/2;
m_myListCtrl.InsertColumn(i, strColumn, LVCFMT_LEFT, nWidth);
}
CListCtrl::GetSubItemRect
Извлекает ограничивающий прямоугольник элемента в элементе управления представлением списка.
BOOL GetSubItemRect(
int iItem,
int iSubItem,
int nArea,
CRect& ref);
Параметры
iItem
Индекс родительского элемента подсети.
iSubItem
Одноуровневый индекс дочернего объекта.
nArea
Определяет часть ограничивающего прямоугольника (дочернего элемента представления списка) для извлечения. Часть (значок, метка или оба) ограничивающего прямоугольника указывается путем применения битового OR
оператора к одному или нескольким из следующих значений:
LVIR_BOUNDS
Возвращает ограничивающий прямоугольник всего элемента, включая значок и метку.LVIR_ICON
Возвращает ограничивающий прямоугольник значка или небольшого значка.LVIR_LABEL
Возвращает ограничивающий прямоугольник всего элемента, включая значок и метку. Это идентичноLVIR_BOUNDS
.
ref
Ссылка на CRect
объект, содержащий координаты ограничивающего прямоугольника подсети.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetSubItemRect
как описано в пакете SDK для Windows.
CListCtrl::GetTextBkColor
Извлекает цвет фона текста элемента управления представлением списка.
COLORREF GetTextBkColor() const;
Возвращаемое значение
32-разрядное значение, используемое для указания цвета RGB.
Пример
Пример см. в примере CListCtrl::SetTextBkColor
.
CListCtrl::GetTextColor
Извлекает цвет текста элемента управления представлением списка.
COLORREF GetTextColor() const;
Возвращаемое значение
32-разрядное значение, используемое для указания цвета RGB.
Пример
Пример см. в примере CListCtrl::SetTextColor
.
CListCtrl::GetTileInfo
Извлекает сведения о плитке в элементе управления представлением списка.
BOOL GetTileInfo(PLVTILEINFO plvti) const;
Параметры
plvti
Указатель на LVTILEINFO
структуру, которая получает сведения о плитке.
Возвращаемое значение
Возвращаемое значение не используется.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETTILEINFO
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetTileViewInfo
Извлекает сведения об элементе управления представлением списка в представлении плиток.
BOOL GetTileViewInfo(PLVTILEVIEWINFO ptvi) const;
Параметры
ptvi
Указатель на структуру LVTILEVIEWINFO
, получающую полученную информацию.
Возвращаемое значение
Возвращаемое значение не используется.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETTILEVIEWINFO
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetToolTips
Извлекает элемент управления подсказки, который элемент управления представления списка использует для отображения подсказок.
CToolTipCtrl* GetToolTips() const;
Возвращаемое значение
Указатель на объект, используемый CToolTipCtrl
элементом управления списком. Create
Если функция-член использует стильLVS_NOTOOLTIPS
, подсказки не используются, а возвращается значение NULL.
Замечания
Эта функция-член реализует поведение сообщения LVM_GETTOOLTIPS
Win32, как описано в пакете SDK для Windows. Реализация MFC GetToolTips
возвращает CToolTipCtrl
объект, который используется элементом управления списком, а не дескриптором элемента управления подсказки.
Пример
CToolTipCtrl* pTip = m_myListCtrl.GetToolTips();
if (NULL != pTip)
{
pTip->UpdateTipText(_T("I'm a list view!"), &m_myListCtrl,
IDD_MYLISTCTRL);
}
CListCtrl::GetTopIndex
Извлекает индекс самого видимого элемента в представлении списка или представлении отчета.
int GetTopIndex() const;
Возвращаемое значение
Индекс самого верхнего видимого элемента.
Пример
// Make sure the focus is set to the list view control.
m_myListCtrl.SetFocus();
// Select all of the items that are completely visible.
int n = m_myListCtrl.GetTopIndex();
int nLast = n + m_myListCtrl.GetCountPerPage();
for (; n < nLast; n++)
{
m_myListCtrl.SetItemState(n, LVIS_SELECTED, LVIS_SELECTED);
ASSERT(m_myListCtrl.GetItemState(n, LVIS_SELECTED) == LVIS_SELECTED);
}
CListCtrl::GetView
Возвращает представление элемента управления представлением списка.
DWORD GetView() const;
Возвращаемое значение
Текущее представление элемента управления представлением списка.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_GETVIEW
сообщения, как описано в пакете SDK для Windows.
CListCtrl::GetViewRect
Извлекает ограничивающий прямоугольник всех элементов в элементе управления представлением списка.
BOOL GetViewRect(LPRECT lpRect) const;
Параметры
lpRect
RECT
Адрес структуры.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Представление списка должно находиться в представлении значков или в представлении небольших значков.
CListCtrl::GetWorkAreas
Извлекает текущие рабочие области элемента управления представлением списка.
void GetWorkAreas(
int nWorkAreas,
LPRECT pRect) const;
Параметры
nWorkAreas
Количество RECT
структур, содержащихся в массиве pRect
.
pRect
Указатель на массив RECT
структур (или CRect
объектов), получающих рабочие области элемента управления представлением списка. Значения в этих структурах находятся в координатах клиента.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_GetWorkAreas
как описано в пакете SDK для Windows.
Пример
Пример см. в примере CListCtrl::GetNumberOfWorkAreas
.
CListCtrl::HasGroup
Определяет, имеет ли элемент управления представление списка указанную группу.
BOOL HasGroup(int iGroupId) const;
Параметры
iGroupId
Идентификатор запрашиваемой группы.
Возвращаемое значение
Возвращает успешность TRUE
при FALSE
сбое.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_HASGROUP
сообщения, как описано в пакете SDK для Windows.
CListCtrl::HitTest
Определяет, какой элемент представления списка, если таковой имеется, находится в указанной позиции.
int HitTest(LVHITTESTINFO* pHitTestInfo) const;
int HitTest(
CPoint pt,
UINT* pFlags = NULL) const;
Параметры
pHitTestInfo
LVHITTESTINFO
Адрес структуры, содержащей позицию для попадания в тест, и получает сведения о результатах теста попадания.
pt
Указывает на тестирование.
pFlags
Указатель на целое число, которое получает сведения о результатах теста. См. описание flags
элемента LVHITTESTINFO
структуры в пакете SDK для Windows.
Возвращаемое значение
Индекс элемента в позиции, указанной pHitTestInfo
в параметре ,если таковой есть, или -1 в противном случае.
Замечания
LVHT_ABOVE
LVHT_BELOW
LVHT_TOLEFT
Чтобы определить, следует ли прокручивать содержимое элемента представления списка, и LVHT_TORIGHT
значения элемента структурыflag
. Два из этих флагов можно объединить, например, если позиция выше и слева от клиентской области.
Вы можете проверить значение элемента структурыflag
, LVHT_ONITEM
чтобы определить, является ли данная позиция элементом представления списка. Это значение является побитовой операцией ИЛИ для LVHT_ONITEMICON
LVHT_ONITEMLABEL
элемента структуры и LVHT_ONITEMSTATEICON
значениями элемента структурыflag
.
Пример
void CListCtrlDlg::OnRClick(NMHDR* pNMHDR, LRESULT* pResult)
{
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
CPoint point(pia->ptAction);
// Select the item the user clicked on.
UINT uFlags;
int nItem = m_myListCtrl.HitTest(point, &uFlags);
if (uFlags & LVHT_ONITEMLABEL)
{
m_myListCtrl.SetItem(nItem, 0, LVIF_STATE, NULL, 0, LVIS_SELECTED,
LVIS_SELECTED, 0);
}
*pResult = 0;
}
CListCtrl::InsertColumn
Вставляет новый столбец в элемент управления представлением списка.
int InsertColumn(
int nCol,
const LVCOLUMN* pColumn);
int InsertColumn(
int nCol,
LPCTSTR lpszColumnHeading,
int nFormat = LVCFMT_LEFT,
int nWidth = -1,
int nSubItem = -1);
Параметры
nCol
Индекс нового столбца.
pColumn
LVCOLUMN
Адрес структуры, содержащей атрибуты нового столбца.
lpszColumnHeading
Адрес строки, содержащей заголовок столбца.
nFormat
Целое число, указывающее выравнивание столбца. Это может быть одно из следующих значений: LVCFMT_LEFT
, LVCFMT_RIGHT
или LVCFMT_CENTER
.
nWidth
Ширина столбца в пикселях. Если этот параметр равен -1, ширина столбца не задана.
nSubItem
Индекс дочернего объекта, связанного с столбцом. Если этот параметр равен -1, с столбцом не связан подсеть.
Возвращаемое значение
Индекс нового столбца при успешном выполнении или -1 в противном случае.
Замечания
Самый левый столбец в элементе управления представлением списка должен быть выровнен по левому краю.
Структура LVCOLUMN
содержит атрибуты столбца в представлении отчета. Он также используется для получения сведений о столбце. Эта структура описана в пакете SDK для Windows.
CListCtrl::InsertGroup
Вставляет группу в элемент управления представлением списка.
LRESULT InsertGroup(
int index,
PLVGROUP pgrp);
Параметры
index
Индекс элемента, в котором должна быть вставлена группа.
pgrp
Указатель на структуру, содержащую добавленную LVGROUP
группу.
Возвращаемое значение
Возвращает индекс элемента, к которому была добавлена группа, или -1, если операция завершилась ошибкой.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_INSERTGROUP
сообщения, как описано в пакете SDK для Windows.
CListCtrl::InsertGroupSorted
Вставляет указанную группу в упорядоченный список групп.
LRESULT InsertGroupSorted(PLVINSERTGROUPSORTED pStructInsert);
Параметры
pStructInsert
Указатель на LVINSERTGROUPSORTED
структуру, содержащую группу для вставки.
Возвращаемое значение
Возвращаемое значение не используется.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_INSERTGROUPSORTED
сообщения, как описано в пакете SDK для Windows.
CListCtrl::InsertItem
Вставляет элемент в элемент управления представлением списка.
int InsertItem(const LVITEM* pItem);
int InsertItem(
int nItem,
LPCTSTR lpszItem);
int InsertItem(
int nItem,
LPCTSTR lpszItem,
int nImage);
int InsertItem(
UINT nMask,
int nItem,
LPCTSTR lpszItem,
UINT nState,
UINT nStateMask,
int nImage,
LPARAM lParam);
Параметры
pItem
Указатель на структуру LVITEM , указывающую атрибуты элемента, как описано в пакете SDK для Windows.
nItem
Индекс вставленного элемента.
lpszItem
Адрес строки, содержащей метку элемента, или LPSTR_TEXTCALLBACK
если элемент является элементом обратного вызова. Дополнительные сведения о элементах обратного вызова см. в статье CListCtrl::GetCallbackMask
.
nImage
Индекс изображения элемента или I_IMAGECALLBACK
элемент является элементом обратного вызова. Дополнительные сведения о элементах обратного вызова см. в статье CListCtrl::GetCallbackMask
.
nMask
Параметр nMask
указывает, какие атрибуты элемента передаются в качестве параметров. Это может быть одно или несколько значений маски, описанных в LVITEM
разделе "Структура " в пакете SDK для Windows. Допустимые значения можно объединить с побитовой оператором OR.
nState
Указывает состояние элемента, изображение состояния и наложение изображения. Дополнительные сведения см. в разделах о LVITEM
структуре и состояниях элементов представления списка windows SDK для списка допустимых флагов.
nStateMask
Указывает, какие биты члена государства будут извлечены или изменены. Дополнительные сведения см. в разделе LVITEM
"Структура " в пакете SDK для Windows.
lParam
32-разрядное значение для конкретного приложения (64-разрядная версия, если вы компилируетсяе для x64), связанное с элементом. Если этот параметр указан, необходимо задать nMask
атрибут LVIF_PARAM
.
Возвращаемое значение
Индекс нового элемента при успешном выполнении или -1 в противном случае.
Замечания
Вызов этого метода может привести LVM_INSERTITEM
к отправке сообщения в окно управления. Связанный обработчик сообщений для элемента управления может не задать текст элемента в определенных условиях (например, при использовании стилей окон, таких как LVS_OWNERDRAW
). Дополнительные сведения об этих условиях см LVM_INSERTITEM
. в пакете SDK для Windows.
Пример
CString strText;
int nColumnCount = m_myListCtrl.GetHeaderCtrl()->GetItemCount();
// Insert 10 items in the list view control.
for (int i = 0; i < 10; i++)
{
strText.Format(TEXT("item %d"), i);
// Insert the item, select every other item.
m_myListCtrl.InsertItem(LVIF_TEXT | LVIF_STATE, i, strText,
(i % 2) == 0 ? LVIS_SELECTED : 0, LVIS_SELECTED, 0, 0);
// Initialize the text of the subitems.
for (int j = 1; j < nColumnCount; j++)
{
strText.Format(TEXT("sub-item %d %d"), i, j);
m_myListCtrl.SetItemText(i, j, strText);
}
}
CListCtrl::InsertMarkHitTest
Извлекает точку вставки, ближайшую к указанной точке.
int InsertMarkHitTest(
LPPOINT pPoint,
LPLVINSERTMARK plvim) const;
Параметры
pPoint
Указатель на POINT
структуру, содержащую координаты теста попадания, относительно клиентской области элемента управления списком.
plvim
Указатель на LVINSERTMARK
структуру, указывающую точку вставки, ближе всего к координатам, определенным параметром точки.
Возвращаемое значение
Точка вставки, близкая к указанной точке.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_INSERTMARKHITTEST
сообщения, как описано в пакете SDK для Windows.
CListCtrl::IsGroupViewEnabled
Определяет, включено ли представление группы для элемента управления представлением списка.
BOOL IsGroupViewEnabled() const;
Возвращаемое значение
Возвращает значение TRUE
, если представление группы включено или FALSE
в противном случае.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_ISGROUPVIEWENABLED
сообщения, как описано в пакете SDK для Windows.
CListCtrl::IsItemVisible
Указывает, отображается ли указанный элемент в текущем элементе управления представлением списка.
BOOL IsItemVisible(int index) const;
Параметры
index
[in] Отсчитываемый от нуля индекс элемента в текущем элементе управления представления списка.
Возвращаемое значение
TRUE
Значение FALSEв противном случае .
Замечания
Этот метод отправляет LVM_ISITEMVISIBLE
сообщение, описанное в пакете SDK для Windows.
CListCtrl::MapIDToIndex
Сопоставляет уникальный идентификатор элемента в текущем элементе управления представлением списка с индексом.
UINT MapIDToIndex(UINT id) const;
Параметры
id
[in] Уникальный идентификатор элемента.
Возвращаемое значение
Текущий индекс для указанного идентификатора.
Замечания
Элемент управления представления списка внутренне отслеживает элементы по индексу. Это может представлять проблемы, так как индексы могут изменяться во время существования элемента управления. Элемент управления представлением списка может пометить элемент с идентификатором при создании элемента, и этот идентификатор можно использовать для обеспечения уникальности в течение времени существования элемента управления представлением списка.
В многопоточной среде индекс гарантируется только в потоке, в котором размещается элемент управления представлением списка, а не в фоновых потоках.
Этот метод отправляет LVM_MAPIDTOINDEX
сообщение, описанное в пакете SDK для Windows.
CListCtrl::MapIndexToID
Сопоставляет индекс элемента в текущем элементе управления представлением списка с уникальным идентификатором.
UINT MapIndexToID(UINT index) const;
Параметры
index
[in] Отсчитываемый от нуля индекс элемента.
Возвращаемое значение
Уникальный идентификатор для указанного элемента.
Замечания
Элемент управления представления списка внутренне отслеживает элементы по индексу. Это может представлять проблемы, так как индексы могут изменяться во время существования элемента управления. Элемент управления представления списка может пометить элемент с идентификатором при создании элемента. Этот идентификатор можно использовать для доступа к определенному элементу в течение всего времени существования элемента управления представления списка.
В многопоточной среде индекс гарантируется только в потоке, в котором размещается элемент управления представлением списка, а не в фоновых потоках.
Этот метод отправляет LVM_MAPINDEXTOID
сообщение, описанное в пакете SDK для Windows.
Пример
Первый пример кода определяет переменную, m_listCtrl
которая используется для доступа к текущему элементу управления представления списка. Эта переменная используется в следующем примере.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
В следующем примере кода демонстрируется MapIndexToID
метод. В предыдущем разделе этого примера кода мы создали элемент управления представлением списка, который отображает два столбца с заголовком ClientID и Grade в представлении отчета. В следующем примере индекс каждого элемента представления списка сопоставляется с идентификационный номер, а затем извлекает индекс для каждого идентификатора. Наконец, в примере сообщается, были ли получены исходные индексы.
// MapIndexToID
int iCount = m_listCtrl.GetItemCount();
UINT nId = 0;
UINT nIndex = 0;
for (int iIndexOriginal = 0; iIndexOriginal < iCount; iIndexOriginal++)
{
// Map index to ID.
nId = m_listCtrl.MapIndexToID((UINT)iIndexOriginal);
// Map ID to index.
nIndex = m_listCtrl.MapIDToIndex(nId);
if (nIndex != (UINT)(iIndexOriginal))
{
CString str;
str.Format(_T("Mapped index (%d) is not equal to original index (%d)"),
nIndex, (UINT)(iIndexOriginal));
AfxMessageBox(str);
return;
}
}
AfxMessageBox(_T("The mapped indexes and original indexes are equal."),
MB_ICONINFORMATION);
CListCtrl::MoveGroup
Перемещает указанную группу в указанный отсчитываемый от нуля индекс элемента управления представлением списка.
LRESULT MoveGroup(
int iGroupId,
int toIndex);
Параметры
iGroupId
Идентификатор перемещаемой группы.
toIndex
Отсчитываемый от нуля индекс, в котором должна быть перемещена группа.
Возвращаемое значение
Возвращаемое значение не используется.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_MOVEGROUP
сообщения, как описано в пакете SDK для Windows.
CListCtrl::MoveItemToGroup
Перемещает указанный элемент в указанную группу.
void MoveItemToGroup(
int idItemFrom,
int idGroupTo);
Параметры
idItemFrom
[in] Индекс перемещаемого элемента.
idGroupTo
[in] Идентификатор группы, в который будет перемещен элемент.
Замечания
Примечание.
Этот метод в настоящее время не реализован.
Этот метод эмулирует функциональные возможности LVM_MOVEITEMTOGROUP
сообщения, как описано в пакете SDK для Windows.
CListCtrl::RedrawItems
Принудительно задает элемент управления представления списка для перезаписи диапазона элементов.
BOOL RedrawItems(
int nFirst,
int nLast);
Параметры
nFirst
Индекс первого элемента, который будет переопределен.
nLast
Индекс последнего элемента, который будет переопределен.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Указанные элементы не переопределены, пока окно представления списка не получит сообщение WM_PAINT. Чтобы немедленно перенакрасить эту функцию, вызовите функцию Windows UpdateWindow
после использования этой функции.
CListCtrl::RemoveAllGroups
Удаляет все группы из элемента управления представлением списка.
void RemoveAllGroups();
Замечания
Эта функция-член эмулирует функциональные возможности LVM_REMOVEALLGROUPS
сообщения, как описано в пакете SDK для Windows.
CListCtrl::RemoveGroup
Удаляет указанную группу из элемента управления представлением списка.
LRESULT RemoveGroup(int iGroupId);
Параметры
iGroupId
Идентификатор группы, который необходимо удалить.
Возвращаемое значение
Возвращает индекс группы в случае успешного выполнения или -1 в противном случае.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_REMOVEGROUP
сообщения, как описано в пакете SDK для Windows.
CListCtrl::Scroll
Прокручивает содержимое элемента управления представлением списка.
BOOL Scroll(CSize size);
Параметры
size
Объект CSize
, указывающий объем горизонтальной и вертикальной прокрутки в пикселях. Элемент y
размера делится на высоту (в пикселях) строки элемента управления представлением списка, а элемент управления прокручивается на результирующее число строк.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
CListCtrl::SetBkColor
Задает цвет фона элемента управления представлением списка.
BOOL SetBkColor(COLORREF cr);
Параметры
cr
Цвет фона CLR_NONE
для задания или значение без цвета фона. Элементы управления представлением списка с цветами фона перерисовываются значительно быстрее, чем при использовании фоновых цветов. Дополнительные сведения см COLORREF
. в пакете SDK для Windows.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetBkColor(crBkColor);
ASSERT(m_myListCtrl.GetBkColor() == crBkColor);
CListCtrl::SetBkImage
Задает фоновое изображение элемента управления представлением списка.
BOOL SetBkImage(LVBKIMAGE* plvbkImage);
BOOL SetBkImage(
HBITMAP hBitmap,
BOOL fTile = TRUE,
int xOffsetPercent = 0,
int yOffsetPercent = 0);
BOOL SetBkImage(
LPTSTR pszUrl,
BOOL fTile = TRUE,
int xOffsetPercent = 0,
int yOffsetPercent = 0);
Параметры
plvbkImage
LVBKIMAGE
Адрес структуры, содержащий новые сведения о фоновом изображении.
hBitmap
Обработка растрового изображения.
pszUrl
Строка,завершающаяся NULL
с URL-адресом фонового изображения.
fTile
Ненулевое значение, если изображение должно быть плиткой в фоновом режиме элемента управления представлением списка; в противном случае — 0.
xOffsetPercent
Смещение в пикселях левого края изображения из источника элемента управления представлением списка.
yOffsetPercent
Смещение в пикселях верхнего края изображения из источника элемента управления представлением списка.
Возвращаемое значение
Возвращает ненулевое значение в случае успешного выполнения или нуля.
Замечания
Примечание.
Так как CListCtrl::SetBkImage
использует функции OLE COM, библиотеки OLE необходимо инициализировать перед использованием SetBkImage
. Рекомендуется инициализировать com-библиотеки при инициализации приложения и неинициализации библиотек при завершении работы приложения. Это автоматически выполняется в приложениях MFC, использующих технологию ActiveX, OLE Automation, OLE Linking/Embedding или ODBC/DAO operations.
Пример
Пример см. в примере CListCtrl::GetBkImage
.
CListCtrl::SetCallbackMask
Задает маску обратного вызова для элемента управления представлением списка.
BOOL SetCallbackMask(UINT nMask);
Параметры
nMask
Новое значение маски обратного вызова.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
// Set the callback mask so that only the selected and focused states
// are stored for each item.
m_myListCtrl.SetCallbackMask(LVIS_SELECTED|LVIS_FOCUSED);
ASSERT(m_myListCtrl.GetCallbackMask() ==
(LVIS_SELECTED|LVIS_FOCUSED));
CListCtrl::SetCheck
Определяет, отображается ли изображение состояния элемента управления списком.
BOOL SetCheck(
int nItem,
BOOL fCheck = TRUE);
Параметры
nItem
Отсчитываемый от нуля индекс элемента управления списком.
fCheck
Указывает, должно ли отображаться изображение состояния элемента. По умолчанию fCheck
отображается TRUE
изображение состояния. Если fCheck
это FALSE
так, это не видно.
Возвращаемое значение
Ненулевое значение, если элемент установлен, в противном случае — значение 0.
Пример
int nCount = m_myListCtrl.GetItemCount();
BOOL fCheck = FALSE;
// Set the check state of every other item to TRUE and
// all others to FALSE.
for (int i = 0; i < nCount; i++)
{
m_myListCtrl.SetCheck(i, fCheck);
ASSERT((m_myListCtrl.GetCheck(i) && fCheck) ||
(!m_myListCtrl.GetCheck(i) && !fCheck));
fCheck = !fCheck;
}
CListCtrl::SetColumn
Задает атрибуты столбца представления списка.
BOOL SetColumn(
int nCol,
const LVCOLUMN* pColumn);
Параметры
nCol
Индекс столбца, атрибуты которого необходимо задать.
pColumn
LVCOLUMN
Адрес структуры, содержащей новые атрибуты столбца, как описано в пакете SDK для Windows. Член структуры mask
указывает, какие атрибуты столбца необходимо задать. mask
Если элемент задает LVCF_TEXT
значение, член структуры является адресом строки, завершаемой значением NULL, и член структуры pszText
cchTextMax
игнорируется.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
Пример см. в примере CListCtrl::GetColumn
.
CListCtrl::SetColumnOrderArray
Задает порядок столбцов (слева направо) элемента управления представлением списка.
BOOL SetColumnOrderArray(
int iCount,
LPINT piArray);
Параметры
piArray
Указатель на буфер, содержащий значения индекса столбцов в элементе управления представлением списка (слева направо). Буфер должен быть достаточно большим, чтобы содержать общее количество столбцов в элементе управления представлением списка.
iCount
Количество столбцов в элементе управления представлением списка.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_SetColumnOrderArray
как описано в пакете SDK для Windows.
Пример
Пример см. в примере CListCtrl::GetColumnOrderArray
.
CListCtrl::SetColumnWidth
Изменяет ширину столбца в представлении отчета или представлении списка.
BOOL SetColumnWidth(
int nCol,
int cx);
Параметры
nCol
Индекс столбца, для которого должна быть задана ширина. В представлении списка этот параметр должен иметь значение 0.
cx
Новая ширина столбца. Может быть либо LVSCW_AUTOSIZE
либо LVSCW_AUTOSIZE_USEHEADER
, как описано в LVM_SETCOLUMNWIDTH
пакете SDK для Windows.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
CListCtrl::SetExtendedStyle
Задает текущие расширенные стили элемента управления представлением списка.
DWORD SetExtendedStyle(DWORD dwNewStyle);
Параметры
dwNewStyle
Сочетание расширенных стилей, используемых элементом управления представлением списка. Описательный список этих стилей см . в разделе "Стили расширенного представления списка" в пакете SDK для Windows.
Возвращаемое значение
Сочетание предыдущих расширенных стилей, используемых элементом управления представлением списка.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_SetExtendedListViewStyle
как описано в пакете SDK для Windows.
Пример
// Allow the header controls item to be movable by the user.
m_myListCtrl.SetExtendedStyle
(m_myListCtrl.GetExtendedStyle()|LVS_EX_HEADERDRAGDROP);
CListCtrl::SetGroupInfo
Задает сведения, описывающие указанную группу текущего элемента управления представления списка.
int SetGroupInfo(
int iGroupId,
PLVGROUP pgrp);
Параметры
iGroupId
Идентификатор группы, сведения которой заданы.
pgrp
Указатель на структуру LVGROUP
, содержащую заданные сведения. Вызывающий объект отвечает за выделение этой структуры и настройку его членов.
Возвращаемое значение
Идентификатор группы, если метод выполнен успешно; в противном случае — значение -1.
Замечания
Этот метод отправляет LVM_SETGROUPINFO
сообщение, описанное в пакете SDK для Windows.
CListCtrl::SetGroupMetrics
Задает метрики группы элемента управления представлением списка.
void SetGroupMetrics(PLVGROUPMETRICS pGroupMetrics);
Параметры
pGroupMetrics
Указатель на структуру LVGROUPMETRICS
, содержащую данные метрик группы, которые нужно задать.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SETGROUPMETRICS
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SetHotCursor
Задает курсор, используемый при включении горячего отслеживания для элемента управления представлением списка.
HCURSOR SetHotCursor(HCURSOR hc);
Параметры
hc
Дескриптор ресурса курсора, используемый для представления горячего курсора.
Возвращаемое значение
Дескриптор предыдущего ресурса горячего курсора, используемый элементом управления представлением списка.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_SetHotCursor
как описано в пакете SDK для Windows.
Горячий курсор, видимый только при включенном выборе указателя мыши, отображается, как курсор передает любой элемент представления списка. Выбор наведения указателя мыши включен, задав расширенный LVS_EX_TRACKSELECT
стиль.
Пример
Пример см. в примере CListCtrl::GetHotCursor
.
CListCtrl::SetHotItem
Задает текущий горячий элемент элемента управления представлением списка.
int SetHotItem(int iIndex);
Параметры
iIndex
Отсчитываемый от нуля индекс элемента, который должен быть задан как горячий элемент.
Возвращаемое значение
Отсчитываемый от нуля индекс ранее горячего элемента.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_SetHotItem
как описано в пакете SDK для Windows.
Пример
Пример см. в примере CListCtrl::GetHotItem
.
CListCtrl::SetHoverTime
Задает текущее время наведения указателя элемента управления представлением списка.
DWORD SetHoverTime(DWORD dwHoverTime = (DWORD)-1);
Параметры
dwHoverTime
Новая задержка в миллисекундах, на которую курсор мыши должен наведите указатель мыши на элемент перед выбранным элементом. Если значение по умолчанию передается, время задается для времени наведения указателя мыши по умолчанию.
Возвращаемое значение
Предыдущее время наведения указателя мыши в миллисекундах.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_SetHoverTime
как описано в пакете SDK для Windows.
Пример
Пример см. в примере CListCtrl::GetHoverTime
.
CListCtrl::SetIconSpacing
Задает интервал между значками в элементе управления представлением списка.
CSize SetIconSpacing(
int cx,
int cy);
CSize SetIconSpacing(CSize size);
Параметры
cx
Расстояние (в пикселях) между значками на оси x.
cy
Расстояние (в пикселях) между значками на оси Y.
size
CSize
Объект, указывающий расстояние (в пикселях) между значками на осях x и y.
Возвращаемое значение
CSize
Объект, содержащий предыдущие значения для интервалов значков.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_SetIconSpacing
как описано в пакете SDK для Windows.
Пример
// Leave lots of space between icons.
m_myListCtrl.SetIconSpacing(CSize(100, 100));
CListCtrl::SetImageList
Назначает список изображений элементу управления представлением списка.
CImageList* SetImageList(
CImageList* pImageList,
int nImageListType);
Параметры
pImageList
Указатель на список изображений для назначения.
nImageListType
Тип списка изображений. Это может быть одно из следующих значений:
LVSIL_NORMAL
Список изображений с большими значками.LVSIL_SMALL
Список изображений с небольшими значками.LVSIL_STATE
Список изображений с изображениями состояния.
Возвращаемое значение
Указатель на предыдущий список изображений.
Пример
Пример см. в примере CListCtrl::GetImageList
.
CListCtrl::SetInfoTip
Задает текст подсказки.
BOOL SetInfoTip(PLVSETINFOTIP plvInfoTip);
Параметры
plvInfoTip
Указатель на структуру LVFSETINFOTIP
, содержащую заданные сведения.
Возвращаемое значение
Возвращает успешность TRUE
при FALSE
сбое.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SETINFOTIP
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SetInsertMark
Задает точку вставки в определенную позицию.
BOOL SetInsertMark(LPLVINSERTMARK plvim);
Параметры
plvim
Указатель на структуру LVINSERTMARK
, указывающую, где задать точку вставки.
Возвращаемое значение
Возвращается TRUE
в случае успешного выполнения или в FALSE
противном случае. FALSE
Возвращается, если размер в cbSize
элементе LVINSERTMARK
структуры не равен фактическому размеру структуры или если точка вставки не применяется в текущем представлении.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SETINSERTMARK
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SetInsertMarkColor
Задает цвет точки вставки.
COLORREF SetInsertMarkColor(COLORREF color);
Параметры
color
Структура COLORREF
, указывающая цвет для задания точки вставки.
Возвращаемое значение
Возвращает структуру, содержащую предыдущий COLORREF
цвет.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SETINSERTMARKCOLOR
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SetItem
Задает некоторые или все атрибуты элемента представления списка.
BOOL SetItem(const LVITEM* pItem);
BOOL SetItem(
int nItem,
int nSubItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
UINT nState,
UINT nStateMask,
LPARAM lParam);
BOOL SetItem(
int nItem,
int nSubItem,
UINT nMask,
LPCTSTR lpszItem,
int nImage,
UINT nState,
UINT nStateMask,
LPARAM lParam,
int nIndent);
Параметры
pItem
LVITEM
Адрес структуры, содержащей атрибуты нового элемента, как описано в пакете SDK для Windows. Элементы структуры и iSubItem
элементы определяют элемент или дочерний элемент, а член структуры iItem
mask
указывает, какие атрибуты следует задать. Дополнительные сведения об члене см. в разделе "Примечания".mask
nItem
Индекс элемента, атрибуты которого необходимо задать.
nSubItem
Индекс подсети, атрибуты которого должны быть заданы.
nMask
Указывает, какие атрибуты необходимо задать (см. примечания).
lpszItem
Адрес строки, завершаемой значением NULL, указывающей метку элемента.
nImage
Индекс изображения элемента в списке изображений.
nState
Указывает значения для измененных состояний (см. примечания).
nStateMask
Указывает, какие состояния необходимо изменить (см. примечания).
lParam
32-разрядная (64-разрядная версия, если вы компилируетсяе для приложения x64) значение, которое необходимо связать с элементом.
nIndent
Ширина (в пикселях) отступа. Если nIndent
ширина меньше установленной системой минимальной ширины, новая ширина устанавливается в соответствии с системным минимальным значением.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
iSubItem
LVITEM
Элементы iItem
структуры и параметров определяют элемент и nItem
nSubItem
подсеть, атрибуты которых необходимо задать.
Член mask
LVITEM
структуры и nMask
параметр указывают, какие атрибуты элемента необходимо задать:
LVIF_TEXT
ЧленpszText
илиlpszItem
параметр — это адрес строки, завершаемой значением NULL.cchTextMax
Элемент игнорируется.LVIF_STATE
ЭлементstateMask
илиnStateMask
параметр указывает, какие состояния элемента необходимо изменить, аstate
член илиnState
параметр содержат значения для этих состояний.
Пример
Пример см. в примере CListCtrl::HitTest
.
CListCtrl::SetItemCount
Подготавливает элемент управления представлением списка для добавления большого количества элементов.
void SetItemCount(int nItems);
Параметры
nItems
Количество элементов, которые элемент управления в конечном счете будет содержать.
Замечания
Сведения о том, как задать количество элементов для элемента управления представлением виртуального списка, см. в разделе CListCtrl::SetItemCountEx
.
Эта функция-член реализует поведение макроса Win32, ListView_SetItemCount
как описано в пакете SDK для Windows.
Пример
CString str;
// Add 1024 items to the list view control.
m_myListCtrl.SetItemCount(1024);
for (int i = 0; i < 1024; i++)
{
str.Format(TEXT("item %d"), i);
m_myListCtrl.InsertItem(i, str);
}
CListCtrl::SetItemCountEx
Задает количество элементов для элемента управления представлением виртуального списка.
BOOL SetItemCountEx(
int iCount,
DWORD dwFlags = LVSICF_NOINVALIDATEALL);
Параметры
iCount
Количество элементов, которые элемент управления в конечном счете будет содержать.
dwFlags
Указывает поведение элемента управления представлением списка после сброса количества элементов. Это значение может быть сочетанием следующих значений:
LVSICF_NOINVALIDATEALL
Элемент управления представлением списка не будет перенаписывайтся, если затронутые элементы в настоящее время не находятся в представлении. Это значение по умолчанию.LVSICF_NOSCROLL
Элемент управления представлением списка не изменит положение прокрутки при изменении количества элементов.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Эта функция-член реализует поведение макроса Win32, как описано в windows SDKand, ListView_SetItemCountEx
должно вызываться только для представлений виртуального списка.
Пример
CString str;
// Add 1024 items to the list view control.
// Force my virtual list view control to allocate
// enough memory for my 1024 items.
m_myVirtualListCtrl.SetItemCountEx(1024, LVSICF_NOSCROLL|
LVSICF_NOINVALIDATEALL);
for (int i = 0; i < 1024; i++)
{
str.Format(TEXT("item %d"), i);
m_myVirtualListCtrl.InsertItem(i, str);
}
CListCtrl::SetItemData
Задает 32-разрядное (64-разрядное значение, если вы компилируетсяе для приложения x64), связанное с элементом nItem
, указанным в нем.
BOOL SetItemData(int nItem, DWORD_PTR dwData);
Параметры
nItem
Индекс элемента списка, данные которого необходимо задать.
dwData
32-разрядное значение (64-разрядная версия при компиляции для x64) для связывания с элементом.
Возвращаемое значение
Имеет ненулевое значение в случае успешного выполнения, иначе — 0.
Замечания
Это значение является lParam
членом LVITEM
структуры, как описано в пакете SDK для Windows.
Пример
// Set the data of each item to be equal to its index.
for (int i = 0; i < m_myListCtrl.GetItemCount(); i++)
{
m_myListCtrl.SetItemData(i, i);
}
CListCtrl::SetItemIndexState
Задает состояние элемента в текущем элементе управления представлением списка.
BOOL SetItemIndexState(
PLVITEMINDEX pItemIndex,
DWORD dwState,
DWORD dwMask) const;
Параметры
pItemIndex
[in] Указатель на структуру LVITEMINDEX
, описывающую элемент. Вызывающий объект отвечает за выделение этой структуры и настройку его членов.
dwState
[in] Состояние задания элемента, которое является побитовой комбинацией состояний элемента представления списка. Укажите ноль для сброса или одного для задания состояния.
dwMask
[in] Маска допустимых битов состояния, указанного параметром dwState
. Укажите побитовое сочетание (OR) состояний элемента представления списка.
Возвращаемое значение
TRUE
Значение , если этот метод выполнен успешно; FALSE
в противном случае .
Замечания
Дополнительные сведения о параметре dwState
см. в разделе "Состояния элементов представления списка".
Дополнительные сведения о dwMask
параметре см. в stateMask
элементе LVITEM
структуры.
Этот метод отправляет LVM_SETITEMINDEXSTATE
сообщение, описанное в пакете SDK для Windows.
CListCtrl::SetItemPosition
Перемещает элемент в указанную позицию в элементе управления представлением списка.
BOOL SetItemPosition(
int nItem,
POINT pt);
Параметры
nItem
Индекс элемента, позиция которого должна быть задана.
pt
Структура POINT
, указывающая новую позицию в координатах представления верхнего левого угла элемента.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Элемент управления должен находиться в режиме значка или небольшого значка.
Если элемент управления представлением списка имеет LVS_AUTOARRANGE
стиль, представление списка упорядочено после установки позиции элемента.
Пример
Пример см. в примере CListCtrl::GetItemPosition
.
CListCtrl::SetItemState
Изменяет состояние элемента в элементе управления представлением списка.
BOOL SetItemState(
int nItem,
LVITEM* pItem);
BOOL SetItemState(
int nItem,
UINT nState,
UINT nMask);
Параметры
nItem
Индекс элемента, состояние которого необходимо задать. Передайте -1, чтобы применить изменение состояния ко всем элементам.
pItem
LVITEM
Адрес структуры, как описано в пакете SDK для Windows. Член структуры указывает, какие биты состояния необходимо изменить, а член структуры stateMask
state
содержит новые значения для этих битов. Другие члены игнорируются.
nState
Новые значения для битов состояния. Список возможных значений см. в разделе CListCtrl::GetNextItem
и LVITEM
члене государства.
nMask
Маска, указывающая, какие биты состояния необходимо изменить. Это значение соответствует элементу LVITEM
stateMask структуры.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Состояние элемента — это значение, указывающее доступность элемента, указывающее действия пользователя или в противном случае отражает состояние элемента. Элемент управления представлением списка изменяет некоторые биты состояния, например, когда пользователь выбирает элемент. Приложение может изменить другие биты состояния, чтобы отключить или скрыть элемент, или указать изображение наложения или изображение состояния.
Пример
Пример см. в примере CListCtrl::GetTopIndex
.
CListCtrl::SetItemText
Изменяет текст элемента представления списка или подсети.
BOOL SetItemText(
int nItem,
int nSubItem,
LPCTSTR lpszText);
Параметры
nItem
Индекс элемента, текст которого должен быть задан.
nSubItem
Индекс подсети или ноль, чтобы задать метку элемента.
lpszText
Указатель на строку, содержащую текст нового элемента.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Этот метод не предназначен для использования с элементами управления, LVS_OWNERDATA
содержащими стиль окна (на самом деле это приведет к утверждению в сборках отладки). Дополнительные сведения об этом стиле элементов управления списками см. в обзоре элементов управления List-View.
Пример
Пример см. в примере CListCtrl::InsertItem
.
CListCtrl::SetOutlineColor
Задает цвет границы элемента управления представления списка, если LVS_EX_BORDERSELECT
задан расширенный стиль окна.
COLORREF SetOutlineColor(COLORREF color);
Параметры
color
Новая COLORREF
структура, содержащая цвет контура.
Возвращаемое значение
Предыдущая COLORREF
структура, содержащая цвет контура
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SETOUTLINECOLOR
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SetSelectedColumn
Задает выбранный столбец элемента управления представлением списка.
LRESULT SetSelectedColumn(int iCol);
Параметры
iCol
Индекс выбранного столбца.
Возвращаемое значение
Возвращаемое значение не используется.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SETSELECTEDCOLUMN
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SetSelectionMark
Задает знак выбора элемента управления представлением списка.
int SetSelectionMark(int iIndex);
Параметры
iIndex
Отсчитываемый от нуля индекс первого элемента в нескольких выборах.
Возвращаемое значение
Предыдущий знак выделения или -1, если не было знака выбора.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_SetSelectionMark
как описано в пакете SDK для Windows.
Пример
Пример см. в примере CListCtrl::GetSelectionMark
.
CListCtrl::SetTextBkColor
Задает цвет фона текста в элементе управления представлением списка.
BOOL SetTextBkColor(COLORREF cr);
Параметры
cr
Указывает COLORREF
новый цвет фона текста. Дополнительные сведения см COLORREF
. в пакете SDK для Windows.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
// Use the 3D button face color for the background.
COLORREF crBkColor = ::GetSysColor(COLOR_3DFACE);
m_myListCtrl.SetTextBkColor(crBkColor);
ASSERT(m_myListCtrl.GetTextBkColor() == crBkColor);
CListCtrl::SetTextColor
Задает цвет текста элемента управления представлением списка.
BOOL SetTextColor(COLORREF cr);
Параметры
cr
Указание COLORREF
нового цвета текста. Дополнительные сведения см COLORREF
. в пакете SDK для Windows.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Пример
// Use the window text color for
// the item text of the list view control.
COLORREF crTextColor = ::GetSysColor(COLOR_WINDOWTEXT);
m_myListCtrl.SetTextColor(crTextColor);
ASSERT(m_myListCtrl.GetTextColor() == crTextColor);
CListCtrl::SetTileInfo
Задает сведения для плитки элемента управления представлением списка.
BOOL SetTileInfo(PLVTILEINFO pTileInfo);
Параметры
pTileInfo
Указатель на структуру LVTILEINFO
, содержащую заданные сведения.
Возвращаемое значение
Возвращает успешность TRUE
при FALSE
сбое.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SETTILEINFO
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SetTileViewInfo
Задает сведения, которые элемент управления представлением списка используется в представлении плитки.
BOOL SetTileViewInfo(PLVTILEVIEWINFO ptvi);
Параметры
ptvi
Указатель на структуру LVTILEVIEWINFO
, содержащую заданные сведения.
Возвращаемое значение
Возвращает успешность TRUE
при FALSE
сбое.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SETTILEVIEWINFO
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SetToolTips
Задает элемент управления подсказки, используемый элементом управления представлением списка для отображения подсказок.
CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);
Параметры
pWndTip
Указатель на CToolTipCtrl
объект, который будет использоваться элементом управления списком.
Возвращаемое значение
Указатель на CToolTipCtrl
объект, содержащий подсказку, которая ранее использовалась элементом управления, или NULL
если подсказки ранее не использовались.
Замечания
Эта функция-член реализует поведение сообщения LVM_SETTOOLTIPS
Win32, как описано в пакете SDK для Windows.
Чтобы не использовать подсказки, укажите LVS_NOTOOLTIPS
стиль при создании CListCtrl
объекта.
CListCtrl::SetView
Задает представление элемента управления представлением списка.
DWORD SetView(int iView);
Параметры
iView
Выбранное представление.
Возвращаемое значение
Возвращает значение 1 в случае успешного выполнения или -1 в противном случае. Например, значение -1 возвращается, если представление недопустимо.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SETVIEW
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SetWorkAreas
Задает область, в которой можно отображать значки в элементе управления представлением списка.
void SetWorkAreas(
int nWorkAreas,
LPRECT lpRect);
Параметры
nWorkAreas
Число RECT
структур (или CRect
объектов) в массиве, на которое указывает lpRect
.
lpRect
Адрес массива структур (или CRect
объектов), указывающих RECT
новые рабочие области элемента управления представлением списка. Эти области должны быть указаны в координатах клиента. Если этот параметр имеет значение NULL
, рабочая область будет задана в клиентской области элемента управления.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_SetWorkAreas
как описано в пакете SDK для Windows.
Пример
// Remove all working areas.
m_myListCtrl.SetWorkAreas(0, NULL);
CListCtrl::SortGroups
Использует функцию сравнения, определяемую приложением, для сортировки групп по идентификатору в элементе управления представлением списка.
BOOL SortGroups(
PFNLVGROUPCOMPARE _pfnGroupCompare,
LPVOID _plv);
Параметры
_pfnGroupCompare
Указатель на функцию сравнения групп.
_plv
Указатель void.
Возвращаемое значение
Возвращает успешность TRUE
при FALSE
сбое.
Замечания
Эта функция-член эмулирует функциональные возможности LVM_SORTGROUPS
сообщения, как описано в пакете SDK для Windows.
CListCtrl::SortItems
Сортирует элементы представления списка с помощью функции сравнения, определяемой приложением.
BOOL SortItems(
PFNLVCOMPARE pfnCompare,
DWORD_PTR dwData);
Параметры
pfnCompare
[in] Адрес определяемой приложением функции сравнения.
Операция сортировки вызывает функцию сравнения каждый раз, когда необходимо определить относительный порядок двух элементов списка. Функция сравнения должна быть либо статическим элементом класса, либо автономной функцией, которая не является членом любого класса.
dwData
[in] Определяемое приложением значение, переданное функции сравнения.
Возвращаемое значение
TRUE
Значение , если метод выполнен успешно; в противном случае FALSE
.
Замечания
Этот метод изменяет индекс каждого элемента, чтобы отразить новую последовательность.
Функция pfnCompare
сравнения имеет следующую форму:
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
Функция сравнения должна возвращать отрицательное значение, если первый элемент должен предшествовать второму, положительное значение, если первый элемент должен соответствовать второму или нулю, если два элемента равны.
Параметр lParam1
— это 32-разрядное значение (64-разрядное значение, если вы компилируетсяе для x64), связанное с первым элементом, который сравнивается, и lParam2
параметр является значением, связанным со вторым элементом. Это значения, которые были указаны в lParam
элементе структуры элементов LVITEM
при их вставке в список. Параметр lParamSort
совпадает со значением dwData
.
Этот метод отправляет LVM_SORTITEMS
сообщение, описанное в пакете SDK для Windows.
Пример
Ниже приведена простая функция сравнения, которая приводит к сортировке элементов по их lParam
значениям.
// Sort items by associated lParam
int CALLBACK CListCtrlDlg::MyCompareProc(LPARAM lParam1, LPARAM lParam2,
LPARAM lParamSort)
{
UNREFERENCED_PARAMETER(lParamSort);
return (int)(lParam1 - lParam2);
}
// Sort the items by passing in the comparison function.
void CListCtrlDlg::Sort()
{
m_myListCtrl.SortItems(&CListCtrlDlg::MyCompareProc, 0);
}
CListCtrl::SortItemsEx
Сортирует элементы текущего элемента управления представлением списка с помощью функции сравнения, определяемой приложением.
BOOL SortItemsEx(
PFNLVCOMPARE pfnCompare,
DWORD_PTR dwData);
Параметры
pfnCompare
[in] Адрес определяемой приложением функции сравнения. Операция сортировки вызывает функцию сравнения каждый раз, когда необходимо определить относительный порядок двух элементов списка. Функция сравнения должна быть либо статическим элементом класса, либо автономной функцией, которая не является членом любого класса.
dwData
[in] Определяемое приложением значение, переданное функции сравнения.
Возвращаемое значение
TRUE
Значение , если этот метод выполнен успешно; FALSE
в противном случае .
Замечания
Этот метод изменяет индекс каждого элемента, чтобы отразить новую последовательность.
Функция pfnCompare
сравнения имеет следующую форму:
int CALLBACK CompareFunc(LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort);
Это сообщение похоже LVM_SORTITEMS
, за исключением типа информации, передаваемой функции сравнения. В LVM_SORTITEMS
, lParam1
а lParam2
также значения элементов для сравнения. В LVM_SORTITEMSEX
: lParam1
текущий индекс первого элемента для сравнения и lParam2
является текущим индексом второго элемента. Вы можете отправить LVM_GETITEMTEXT
сообщение, чтобы получить дополнительные сведения о элементе.
Функция сравнения должна возвращать отрицательное значение, если первый элемент должен предшествовать второму, положительное значение, если первый элемент должен соответствовать второму или нулю, если два элемента равны.
Примечание.
Во время процесса сортировки содержимое представления списка нестабильно. Если функция обратного вызова отправляет сообщения в элемент управления представлением списка, кроме LVM_GETITEM
того, результаты непредсказуемы.
Этот метод отправляет LVM_SORTITEMSEX
сообщение, описанное в пакете SDK для Windows.
Пример
Первый пример кода определяет переменную, m_listCtrl
которая используется для доступа к текущему элементу управления представления списка. Эта переменная используется в следующем примере.
public:
// Variable used to access the list control.
CListCtrl m_listCtrl;
В следующем примере кода демонстрируется SortItemEx
метод. В предыдущем разделе этого примера кода мы создали элемент управления представлением списка, который отображает два столбца с заголовком ClientID и Grade в представлении отчета. В следующем примере кода таблица сортируется с помощью значений в столбце "Оценка".
// The ListCompareFunc() method is a global function used by SortItemEx().
int CALLBACK ListCompareFunc(
LPARAM lParam1,
LPARAM lParam2,
LPARAM lParamSort)
{
CListCtrl* pListCtrl = (CListCtrl*) lParamSort;
CString strItem1 = pListCtrl->GetItemText(static_cast<int>(lParam1), 1);
CString strItem2 = pListCtrl->GetItemText(static_cast<int>(lParam2), 1)
int x1 = _tstoi(strItem1.GetBuffer());
int x2 = _tstoi(strItem2.GetBuffer());
int result = 0;
if ((x1 - x2) < 0)
result = -1;
else if ((x1 - x2) == 0)
result = 0;
else
result = 1;
return result;
}
void CCListCtrl_s2Dlg::OnBnClickedButton1()
{
// SortItemsEx
m_listCtrl.SortItemsEx( ListCompareFunc, (LPARAM)&m_listCtrl );
}
CListCtrl::SubItemHitTest
Определяет, какой элемент представления списка, если таковой имеется, находится в заданной позиции.
int SubItemHitTest(LPLVHITTESTINFO pInfo);
Параметры
pInfo
Указатель на структуру LVHITTESTINFO
.
Возвращаемое значение
Одноуровневый индекс элемента или подсеть, проверяемый (если таковой) или -1 в противном случае.
Замечания
Эта функция-член реализует поведение макроса Win32, ListView_SubItemHitTest
как описано в пакете SDK для Windows.
Пример
void CListCtrlDlg::OnDblClk(NMHDR* pNMHDR, LRESULT* pResult)
{
UNREFERENCED_PARAMETER(pResult);
LPNMITEMACTIVATE pia = (LPNMITEMACTIVATE)pNMHDR;
LVHITTESTINFO lvhti;
// Clear the subitem text the user clicked on.
lvhti.pt = pia->ptAction;
m_myListCtrl.SubItemHitTest(&lvhti);
if (lvhti.flags & LVHT_ONITEMLABEL)
{
m_myListCtrl.SetItemText(lvhti.iItem, lvhti.iSubItem, NULL);
}
}
CListCtrl::Update
Принудительно задает элемент управления представлением списка для перезаписи элемента, указанного nItem
в .
BOOL Update(int nItem);
Параметры
nItem
Индекс обновляемого элемента.
Возвращаемое значение
Ненулевое значение в случае успеха, иначе — 0.
Замечания
Эта функция также упорядочивает элемент управления представлением LVS_AUTOARRANGE
списка, если он имеет стиль.
Пример
Пример см. в примере CListCtrl::GetSelectedCount
.
См. также
Пример ROWLIST MFC
CWnd
Класс
Диаграмма иерархии
CImageList
Класс