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
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.