Класс 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) можно сортировать одновременно.
Иерархия наследования
Требования
Заголовок: 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.
Замечания
Используйте этот метод, чтобы задать порядок сортировки столбца. При необходимости этот метод добавляет столбец в список столбцов сортировки. Элемент управления заголовком использует порядок сортировки для рисования стрелки сортировки, указывающей вверх или вниз.