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


Класс CMFCHeaderCtrl

Класс CMFCHeaderCtrl поддерживает сортировку нескольких столбцов в элементе управления заголовком.

Синтаксис

class CMFCHeaderCtrl : public CHeaderCtrl

Участники

Открытые конструкторы

Имя Описание
CMFCHeaderCtrl::CMFCHeaderCtrl Формирует объект CMFCHeaderCtrl.
CMFCHeaderCtrl::~CMFCHeaderCtrl Деструктор.

Открытые методы

Имя Описание
CMFCHeaderCtrl::EnableMultipleSort Включает или отключает режим сортировки нескольких столбцов для текущего элемента управления заголовком.
CMFCHeaderCtrl::GetColumnState Указывает, не отсортирован ли столбец или отсортирован по возрастанию или убыванию.
CMFCHeaderCtrl::GetSortColumn Извлекает отсчитываемый от нуля индекс первого отсортированного столбца в элементе управления заголовком.
CMFCHeaderCtrl::GetThisClass Используется платформой для получения указателя на объект CRuntimeClass , связанный с этим типом класса.
CMFCHeaderCtrl::IsAscending Указывает, сортируется ли любой столбец в элементе управления заголовком по возрастанию.
CMFCHeaderCtrl::IsDialogControl Указывает, является ли родительское окно текущего элемента управления заголовком диалоговым окном.
CMFCHeaderCtrl::IsMultipleSort Указывает, находится ли текущий элемент управления заголовком в режиме сортировки нескольких столбцов.
CMFCHeaderCtrl::RemoveSortColumn Удаляет указанный столбец из списка столбцов сортировки.
CMFCHeaderCtrl::SetSortColumn Задает порядок сортировки указанного столбца в элементе управления заголовком.

Защищенные методы

Имя Описание
CMFCHeaderCtrl::OnDrawItem Вызывается платформой для рисования столбца элемента управления заголовком.
CMFCHeaderCtrl::OnDrawSortArrow Вызывается платформой для рисования стрелки сортировки.
CMFCHeaderCtrl::OnFillBackground Вызывается платформой для заполнения фона столбца элемента управления заголовком.

Пример

В следующем примере показано, как создать объект класса и как включить режим сортировки нескольких столбцов для текущего CMFCHeaderCtrl элемента управления заголовком.

CMFCHeaderCtrl *headerCtrl = new CMFCHeaderCtrl();
headerCtrl->EnableMultipleSort();

Замечания

Класс CMFCHeaderCtrl рисует стрелку сортировки в столбце элемента управления заголовком, чтобы указать, что столбец отсортирован. Используйте режим сортировки столбцов, если набор столбцов в элементе управления родительским списком ( класс CMFCListCtrl) можно сортировать одновременно.

Иерархия наследования

CObject

CCmdTarget

CWnd

CHeaderCtrl

CMFCHeaderCtrl

Требования

Заголовок: afxheaderctrl.h

CMFCHeaderCtrl::CMFCHeaderCtrl

Формирует объект CMFCHeaderCtrl.

CMFCHeaderCtrl::CMFCHeaderCtrl()

Замечания

Этот конструктор инициализирует следующие переменные-члены в указанные значения:

Переменная-член Значение
m_bIsMousePressed FALSE
m_bMultipleSort FALSE
m_bAscending TRUE
m_nHighlightedItem -1
m_bTracked FALSE
m_bIsDlgControl FALSE
m_hFont NULL

CMFCHeaderCtrl::EnableMultipleSort

Включает или отключает режим сортировки нескольких столбцов для текущего элемента управления заголовком.

void EnableMultipleSort(BOOL bEnable=TRUE);

Параметры

bEnable
[in] ЗНАЧЕНИЕ TRUE для включения режима сортировки нескольких столбцов; ЗНАЧЕНИЕ FALSE для отключения режима сортировки столбцов и удаления столбцов из списка отсортированных столбцов. Значение по умолчанию — TRUE.

Замечания

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

CMFCHeaderCtrl::GetColumnState

Указывает, является ли столбец неортизованным или отсортирован в порядке возрастания или убывания.

int GetColumnState(int iColumn) const;

Параметры

iColumn
[in] Отсчитываемый от нуля индекс столбца.

Возвращаемое значение

Значение, указывающее состояние сортировки указанного столбца. В следующем списке указаны возможные значения.

значение Описание
-1 Отсортирован в порядке убывания.
0 Не отсортирован.
1 Отсортирован в порядке возрастания.

Замечания

CMFCHeaderCtrl::GetSortColumn

Извлекает отсчитываемый от нуля индекс первого отсортированного столбца в элементе управления заголовком.

int GetSortColumn() const;

Возвращаемое значение

Индекс отсортированного столбца или -1, если не найден отсортированный столбец.

Замечания

Если элемент управления заголовком находится в режиме сортировки нескольких столбцов и вы скомпилировали приложение в режиме отладки, этот метод утверждает и советует использовать метод CMFCHeaderCtrl::GetColumnState . Если элемент управления заголовком находится в режиме сортировки нескольких столбцов и вы скомпилировали приложение в розничном режиме, этот метод возвращает значение -1.

CMFCHeaderCtrl::IsAscending

Указывает, сортируется ли любой столбец в элементе управления заголовком по возрастанию.

BOOL IsAscending() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если любой столбец в элементе управления заголовком отсортирован в порядке возрастания; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

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

CMFCHeaderCtrl::IsDialogControl

Указывает, является ли родительское окно текущего элемента управления заголовком диалоговым окном.

BOOL IsDialogControl() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если родительское окно текущего элемента управления заголовком является диалоговым окном; в противном случае — ЗНАЧЕНИЕ FALSE.

CMFCHeaderCtrl::IsMultipleSort

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

BOOL IsMultipleSort() const;

Возвращаемое значение

ЗНАЧЕНИЕ TRUE, если включен режим сортировки нескольких столбцов; в противном случае — ЗНАЧЕНИЕ FALSE.

Замечания

Используйте метод CMFCHeaderCtrl::EnableMultipleSort, чтобы включить или отключить режим сортировки нескольких столбцов. Два или несколько столбцов могут участвовать в сортировке, если элемент управления заголовком находится в режиме сортировки нескольких столбцов.

CMFCHeaderCtrl::OnDrawItem

Вызывается платформой для рисования столбца элемента управления заголовком.

virtual void OnDrawItem(
    CDC* pDC,
    int iItem,
    CRect rect,
    BOOL bIsPressed,
    BOOL bIsHighlighted);

Параметры

pDC
[in] Указатель на контекст устройства.

iItem
[in] Отсчитываемый от нуля индекс элемента.

rect
[in] Ограничивающий прямоугольник элемента для рисования.

bIsPressed
[in] ЗНАЧЕНИЕ TRUE для рисования элемента в состоянии нажатия; в противном случае — ЗНАЧЕНИЕ FALSE.

bIsHighlighted
[in] ЗНАЧЕНИЕ TRUE для рисования элемента в выделенном состоянии; в противном случае — ЗНАЧЕНИЕ FALSE.

CMFCHeaderCtrl::OnDrawSortArrow

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

virtual void OnDrawSortArrow(
    CDC* pDC,
    CRect rectArrow);

Параметры

pDC
[in] Указатель на контекст устройства.

rectArrow
[in] Ограничивающий прямоугольник стрелки сортировки.

CMFCHeaderCtrl::OnFillBackground

Вызывается платформой для заполнения фона столбца элемента управления заголовком.

virtual void OnFillBackground(CDC* pDC);

Параметры

pDC
[in] Указатель на контекст устройства.

Замечания

CMFCHeaderCtrl::RemoveSortColumn

Удаляет указанный столбец из списка столбцов сортировки.

void RemoveSortColumn(int iColumn);

Параметры

iColumn
[in] Отсчитываемый от нуля индекс столбца.

CMFCHeaderCtrl::SetSortColumn

Задает порядок сортировки указанного столбца в элементе управления заголовком.

void SetSortColumn(
    int iColumn,
    BOOL bAscending=TRUE,
    BOOL bAdd=FALSE);

Параметры

iColumn
[in] Отсчитываемый от нуля индекс столбца элемента управления заголовком. Если этот параметр меньше нуля, этот метод удаляет все столбцы из списка столбцов сортировки.

bAscending
[in] Указывает порядок сортировки столбца, указанного параметром iColumn . ЗНАЧЕНИЕ TRUE, чтобы задать порядок возрастания; ЗНАЧЕНИЕ FALSE для задания порядка убывания. Значение по умолчанию — TRUE.

bAdd
[in] Значение TRUE, чтобы задать порядок сортировки столбца, указанного параметром iColumn .

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

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

False, чтобы сначала удалить все столбцы из списка столбцов сортировки, а затем добавить указанный столбец в список. Значение по умолчанию — FALSE.

Замечания

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

См. также

Диаграмма иерархии
Классы
Класс CMFCListCtrl