Teilen über


CMFCHeaderCtrl-Klasse

Die CMFCHeaderCtrl Klasse unterstützt das Sortieren mehrerer Spalten in einem Kopfzeilensteuerelement.

Syntax

class CMFCHeaderCtrl : public CHeaderCtrl

Member

Öffentliche Konstruktoren

Name Beschreibung
CMFCHeaderCtrl::CMFCHeaderCtrl Erstellt ein CMFCHeaderCtrl-Objekt.
CMFCHeaderCtrl::~CMFCHeaderCtrl Destruktor.

Öffentliche Methoden

Name Beschreibung
CMFCHeaderCtrl::EnableMultipleSort Aktiviert oder deaktiviert den Sortiermodus für mehrere Spalten für das aktuelle Kopfzeilensteuerelement.
CMFCHeaderCtrl::GetColumnState Gibt an, ob eine Spalte nicht sortiert oder in aufsteigender oder absteigender Reihenfolge sortiert ist.
CMFCHeaderCtrl::GetSortColumn Ruft den nullbasierten Index der ersten sortierten Spalte im Kopfzeilensteuerelement ab.
CMFCHeaderCtrl::GetThisClass Wird vom Framework verwendet, um einen Zeiger auf das CRuntimeClass -Objekt abzurufen, das diesem Klassentyp zugeordnet ist.
CMFCHeaderCtrl::IsAscending Gibt an, ob eine Spalte im Kopfzeilensteuerelement in aufsteigender Reihenfolge sortiert ist.
CMFCHeaderCtrl::IsDialogControl Gibt an, ob das übergeordnete Fenster des aktuellen Kopfzeilensteuerelements ein Dialogfeld ist.
CMFCHeaderCtrl::IsMultipleSort Gibt an, ob sich das aktuelle Kopfzeilensteuerelement im Sortiermodus für mehrere Spalten befindet.
CMFCHeaderCtrl::RemoveSortColumn Entfernt die angegebene Spalte aus der Liste der Sortierspalten.
CMFCHeaderCtrl::SetSortColumn Legt die Sortierreihenfolge einer angegebenen Spalte in einem Kopfzeilensteuerelement fest.

Geschützte Methoden

Name Beschreibung
CMFCHeaderCtrl::OnDrawItem Wird vom Framework aufgerufen, um eine Kopfzeilen-Steuerelementspalte zu zeichnen.
CMFCHeaderCtrl::OnDrawSortArrow Vom Framework aufgerufen, um den Sortierpfeil zu zeichnen.
CMFCHeaderCtrl::OnFillBackground Vom Framework aufgerufen, um den Hintergrund einer Kopfzeilensteuerelementspalte auszufüllen.

Beispiel

Im folgenden Beispiel wird das Erstellen eines Objekts der CMFCHeaderCtrl Klasse und das Aktivieren des Sortiermodus für mehrere Spalten für das aktuelle Kopfzeilensteuerelement veranschaulicht.

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

Hinweise

Die CMFCHeaderCtrl Klasse zeichnet einen Sortierpfeil in einer Kopfzeilensteuerelementspalte, um anzugeben, dass die Spalte sortiert ist. Verwenden Sie den Sortiermodus für mehrere Spalten, wenn eine Gruppe von Spalten im übergeordneten Listensteuerelement ( CMFCListCtrl Class) gleichzeitig sortiert werden kann.

Vererbungshierarchie

CObject

CCmdTarget

CWnd

CHeaderCtrl

CMFCHeaderCtrl

Anforderungen

Header: afxheaderctrl.h

CMFCHeaderCtrl::CMFCHeaderCtrl

Erstellt ein CMFCHeaderCtrl-Objekt.

CMFCHeaderCtrl::CMFCHeaderCtrl()

Hinweise

Dieser Konstruktor initialisiert die folgenden Membervariablen für die angegebenen Werte:

Membervariable Wert
m_bIsMousePressed FALSE
m_bMultipleSort false
m_bAscending TRUE
m_nHighlightedItem -1
m_bTracked FALSE
m_bIsDlgControl FALSE
m_hFont NULL

CMFCHeaderCtrl::EnableMultipleSort

Aktiviert oder deaktiviert den Sortiermodus für mehrere Spalten für das aktuelle Kopfzeilensteuerelement.

void EnableMultipleSort(BOOL bEnable=TRUE);

Parameter

bEnable
[in] TRUE, um den Sortiermodus für mehrere Spalten zu aktivieren; FALSE, um den Sortiermodus für mehrere Spalten zu deaktivieren und alle Spalten aus der Liste sortierter Spalten zu entfernen. Der Standardwert ist TRUE.

Hinweise

Verwenden Sie diese Methode, um den Sortiermodus für mehrere Spalten zu aktivieren oder zu deaktivieren. Zwei oder mehr Spalten können an einer Sortierung teilnehmen, wenn sich das Kopfzeilensteuerelement im Sortiermodus für mehrere Spalten befindet.

CMFCHeaderCtrl::GetColumnState

Gibt an, ob eine Spalte nicht sortiert ist oder in aufsteigender oder absteigender Reihenfolge sortiert ist.

int GetColumnState(int iColumn) const;

Parameter

iColumn
[in] Der nullbasierte Index einer Spalte.

Rückgabewert

Ein Wert, der den Sortierstatus der angegebenen Spalte angibt. Die folgende Tabelle enthält die möglichen Werte:

Wert Beschreibung
-1 Sortiert in absteigender Reihenfolge.
0 Nicht sortiert.
1 Sortiert in aufsteigender Reihenfolge.

Hinweise

CMFCHeaderCtrl::GetSortColumn

Ruft den nullbasierten Index der ersten sortierten Spalte im Kopfzeilensteuerelement ab.

int GetSortColumn() const;

Rückgabewert

Der Index einer sortierten Spalte oder -1, wenn keine sortierte Spalte gefunden wird.

Hinweise

Wenn sich das Kopfzeilensteuerelement im Sortiermodus für mehrere Spalten befindet und Sie die Anwendung im Debugmodus kompiliert haben, bestätigt und empfiehlt Sie, stattdessen die CMFCHeaderCtrl::GetColumnState-Methode zu verwenden. Wenn sich das Kopfzeilensteuerelement im Sortiermodus für mehrere Spalten befindet und Sie die Anwendung im Einzelhandelsmodus kompiliert haben, gibt diese Methode -1 zurück.

CMFCHeaderCtrl::IsAscending

Gibt an, ob eine Spalte im Kopfzeilensteuerelement in aufsteigender Reihenfolge sortiert ist.

BOOL IsAscending() const;

Rückgabewert

TRUE, wenn eine Spalte im Kopfzeilensteuerelement in aufsteigender Reihenfolge sortiert ist; andernfalls FALSE.

Hinweise

Der von dieser Methode zurückgegebene Wert wird verwendet, um den entsprechenden Sortierpfeil im Kopfzeilensteuerelementelement anzuzeigen. Verwenden Sie die CMFCHeaderCtrl::SetSortColumn-Methode , um die Sortierreihenfolge festzulegen.

CMFCHeaderCtrl::IsDialogControl

Gibt an, ob das übergeordnete Fenster des aktuellen Kopfzeilensteuerelements ein Dialogfeld ist.

BOOL IsDialogControl() const;

Rückgabewert

TRUE, wenn das übergeordnete Fenster des aktuellen Kopfzeilensteuerelements ein Dialogfeld ist; andernfalls FALSE.

CMFCHeaderCtrl::IsMultipleSort

Gibt an, ob sich das aktuelle Kopfzeilensteuerelement im Sortiermodus für mehrere Spalten befindet.

BOOL IsMultipleSort() const;

Rückgabewert

TRUE, wenn der Sortiermodus für mehrere Spalten aktiviert ist; andernfalls FALSE.

Hinweise

Verwenden Sie die CMFCHeaderCtrl::EnableMultipleSort-Methode , um den Sortiermodus für mehrere Spalten zu aktivieren oder zu deaktivieren. Zwei oder mehr Spalten können an einer Sortierung teilnehmen, wenn sich das Kopfzeilensteuerelement im Sortiermodus für mehrere Spalten befindet.

CMFCHeaderCtrl::OnDrawItem

Wird vom Framework aufgerufen, um eine Kopfzeilen-Steuerelementspalte zu zeichnen.

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

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext.

iItem
[in] Der nullbasierte Index des zu zeichnenden Elements.

rect
[in] Das umgebende Rechteck des zu zeichnenden Elements.

bIsPressed
[in] TRUE, um das Element im gedrückten Zustand zu zeichnen; andernfalls FALSE.

bIsHighlighted
[in] TRUE, um das Element im hervorgehobenen Zustand zu zeichnen; andernfalls FALSE.

CMFCHeaderCtrl::OnDrawSortArrow

Vom Framework aufgerufen, um den Sortierpfeil zu zeichnen.

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

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext.

rectArrow
[in] Das umgebende Rechteck des Sortierpfeils.

CMFCHeaderCtrl::OnFillBackground

Vom Framework aufgerufen, um den Hintergrund einer Kopfzeilensteuerelementspalte auszufüllen.

virtual void OnFillBackground(CDC* pDC);

Parameter

pDC
[in] Ein Zeiger auf einen Gerätekontext.

Hinweise

CMFCHeaderCtrl::RemoveSortColumn

Entfernt die angegebene Spalte aus der Liste der Sortierspalten.

void RemoveSortColumn(int iColumn);

Parameter

iColumn
[in] Der nullbasierte Index der zu entfernenden Spalte.

CMFCHeaderCtrl::SetSortColumn

Legt die Sortierreihenfolge einer angegebenen Spalte in einem Kopfzeilensteuerelement fest.

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

Parameter

iColumn
[in] Der nullbasierte Index einer Kopfzeilensteuerelementspalte. Wenn dieser Parameter kleiner als 0 ist, entfernt diese Methode alle Spalten aus der Liste der Sortierspalten.

bAscending
[in] Gibt die Sortierreihenfolge der Spalte an, die der iColumn-Parameter angibt. TRUE, um aufsteigende Reihenfolge festzulegen; FALSE, um absteigende Reihenfolge festzulegen. Der Standardwert ist TRUE.

bAdd
[in] TRUE, um die Sortierreihenfolge der Spalte festzulegen, die der iColumn-Parameter angibt.

Wenn sich das aktuelle Kopfzeilensteuerelement im Sortiermodus für mehrere Spalten befindet, fügt diese Methode der Liste der Sortierspalten die angegebene Spalte hinzu. Verwenden Sie CMFCHeaderCtrl::EnableMultipleSort , um den Sortiermodus für mehrere Spalten festzulegen.

Wenn der Sortiermodus für mehrere Spalten nicht festgelegt ist und diese Methode im Debugmodus kompiliert wird, wird diese Methode bestätigt. Wenn der Sortiermodus für mehrere Spalten nicht festgelegt ist und diese Methode im Einzelhandelsmodus kompiliert wird, entfernt diese Methode zuerst alle Spalten aus der Liste der Sortierspalten und fügt dann der Liste die angegebene Spalte hinzu.

FALSE, um zuerst alle Spalten aus der Liste der Sortierspalten zu entfernen und dann die angegebene Spalte der Liste hinzuzufügen. Der Standardwert ist FALSCH.

Hinweise

Verwenden Sie diese Methode, um die Sortierreihenfolge einer Spalte festzulegen. Bei Bedarf fügt diese Methode die Spalte der Liste der Sortierspalten hinzu. Das Kopfzeilensteuerelement verwendet die Sortierreihenfolge, um einen Sortierpfeil zu zeichnen, der nach oben oder unten zeigt.

Siehe auch

Hierarchiediagramm
Klassen
CMFCListCtrl-Klasse