Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Замечание
Библиотека классов Microsoft Foundation (MFC) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Класс 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.
Замечания
Используйте этот метод, чтобы задать порядок сортировки столбца. При необходимости этот метод добавляет столбец в список столбцов сортировки. Элемент управления заголовком использует порядок сортировки для рисования стрелки сортировки, указывающей вверх или вниз.