Udostępnij za pośrednictwem


Klasa CMFCHeaderCtrl

Klasa CMFCHeaderCtrl obsługuje sortowanie wielu kolumn w kontrolce nagłówka.

Składnia

class CMFCHeaderCtrl : public CHeaderCtrl

Elementy członkowskie

Konstruktory publiczne

Nazwa/nazwisko opis
CMFCHeaderCtrl::CMFCHeaderCtrl CMFCHeaderCtrl Tworzy obiekt.
CMFCHeaderCtrl::~CMFCHeaderCtrl Destruktor.

Metody publiczne

Nazwa/nazwisko opis
CMFCHeaderCtrl::EnableMultipleSort Włącza lub wyłącza tryb sortowania wielu kolumn dla bieżącej kontrolki nagłówka.
CMFCHeaderCtrl::GetColumnState Wskazuje, czy kolumna nie jest sortowana, czy sortowana w kolejności rosnącej lub malejącej.
CMFCHeaderCtrl::GetSortColumn Pobiera indeks oparty na zera pierwszej posortowanej kolumny w kontrolce nagłówka.
CMFCHeaderCtrl::GetThisClass Używany przez platformę do uzyskiwania wskaźnika do obiektu CRuntimeClass skojarzonego z tym typem klasy.
CMFCHeaderCtrl::IsAscending Wskazuje, czy dowolna kolumna w kontrolce nagłówka jest sortowana w kolejności rosnącej.
CMFCHeaderCtrl::IsDialogControl Wskazuje, czy okno nadrzędne bieżącej kontrolki nagłówka jest oknem dialogowym.
CMFCHeaderCtrl::IsMultipleSort Wskazuje, czy bieżąca kontrolka nagłówka jest w trybie sortowania wielu kolumn.
CMFCHeaderCtrl::RemoveSortColumn Usuwa określoną kolumnę z listy kolumn sortowania.
CMFCHeaderCtrl::SetSortColumn Ustawia kolejność sortowania określonej kolumny w kontrolce nagłówka.

Metody chronione

Nazwa/nazwisko opis
CMFCHeaderCtrl::OnDrawItem Wywoływana przez strukturę w celu narysowania kolumny kontrolki nagłówka.
CMFCHeaderCtrl::OnDrawsortArrow Wywoływana przez strukturę w celu narysowania strzałki sortowania.
CMFCHeaderCtrl::OnFillBackground Wywoływana przez strukturę w celu wypełnienia tła kolumny kontrolki nagłówka.

Przykład

W poniższym przykładzie pokazano, jak utworzyć obiekt CMFCHeaderCtrl klasy oraz jak włączyć tryb sortowania wielu kolumn dla bieżącej kontrolki nagłówka.

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

Uwagi

Klasa CMFCHeaderCtrl rysuje strzałkę sortowania w kolumnie kontrolki nagłówka, aby wskazać, że kolumna jest sortowana. Użyj trybu sortowania wielu kolumn, jeśli można sortować jednocześnie zestaw kolumn w kontrolce listy nadrzędnej ( klasa CMFCListCtrl).

Hierarchia dziedziczenia

Obiekt CObject

CCmdTarget

CWnd

CHeaderCtrl

CMFCHeaderCtrl

Wymagania

Nagłówek: afxheaderctrl.h

CMFCHeaderCtrl::CMFCHeaderCtrl

CMFCHeaderCtrl Tworzy obiekt.

CMFCHeaderCtrl::CMFCHeaderCtrl()

Uwagi

Ten konstruktor inicjuje następujące zmienne składowe do określonych wartości:

Zmienna składowa Wartość
m_bIsMousePressed FAŁSZ
m_bMultipleSort FAŁSZ
m_bAscending PRAWDA
m_nHighlightedItem -1
m_bTracked FAŁSZ
m_bIsDlgControl FAŁSZ
m_hFont NULL

CMFCHeaderCtrl::EnableMultipleSort

Włącza lub wyłącza tryb sortowania wielu kolumn dla bieżącej kontrolki nagłówka.

void EnableMultipleSort(BOOL bEnable=TRUE);

Parametry

bEnable
[in] WARTOŚĆ TRUE w celu włączenia trybu sortowania wielu kolumn; FAŁSZ, aby wyłączyć tryb sortowania wielu kolumn i usunąć wszystkie kolumny z listy posortowanych kolumn. Wartość domyślna to TRUE.

Uwagi

Ta metoda służy do włączania lub wyłączania trybu sortowania wielu kolumn. Co najmniej dwie kolumny mogą uczestniczyć w sortowaniu, jeśli kontrolka nagłówka jest w trybie sortowania wielu kolumn.

CMFCHeaderCtrl::GetColumnState

Wskazuje, czy kolumna jest niesortowana, czy sortowana w kolejności rosnącej lub malejącej.

int GetColumnState(int iColumn) const;

Parametry

iColumn
[in] Indeks oparty na zerach kolumny.

Wartość zwracana

Wartość wskazująca stan sortowania określonej kolumny. W poniższej tabeli wymieniono możliwe wartości:

Wartość Opis
-1 Sortowane w kolejności malejącej.
0 Niesortowane.
1 Sortowane w kolejności rosnącej.

Uwagi

CMFCHeaderCtrl::GetSortColumn

Pobiera indeks oparty na zera pierwszej posortowanej kolumny w kontrolce nagłówka.

int GetSortColumn() const;

Wartość zwracana

Indeks posortowanej kolumny lub -1, jeśli nie znaleziono posortowanej kolumny.

Uwagi

Jeśli kontrolka nagłówka jest w trybie sortowania wielu kolumn i skompilowana aplikacja w trybie debugowania, ta metoda potwierdza i zaleca użycie metody CMFCHeaderCtrl::GetColumnState . Jeśli kontrolka nagłówka jest w trybie sortowania wielu kolumn i skompilowana aplikacja w trybie detalicznym, ta metoda zwraca wartość -1.

CMFCHeaderCtrl::IsAscending

Wskazuje, czy dowolna kolumna w kontrolce nagłówka jest sortowana w kolejności rosnącej.

BOOL IsAscending() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli jakakolwiek kolumna w kontrolce nagłówka jest sortowana w kolejności rosnącej; w przeciwnym razie, FAŁSZ.

Uwagi

Wartość zwracana przez tę metodę służy do wyświetlania odpowiedniej strzałki sortowania w elemencie kontrolki nagłówka. Użyj metody CMFCHeaderCtrl::SetSortColumn, aby ustawić kolejność sortowania.

CMFCHeaderCtrl::IsDialogControl

Wskazuje, czy okno nadrzędne bieżącej kontrolki nagłówka jest oknem dialogowym.

BOOL IsDialogControl() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli okno nadrzędne bieżącej kontrolki nagłówka jest oknem dialogowym; w przeciwnym razie, FAŁSZ.

CMFCHeaderCtrl::IsMultipleSort

Wskazuje, czy bieżąca kontrolka nagłówka jest w trybie sortowania wielu kolumn.

BOOL IsMultipleSort() const;

Wartość zwracana

WARTOŚĆ TRUE, jeśli włączono tryb sortowania wielu kolumn; w przeciwnym razie, FAŁSZ.

Uwagi

Użyj metody CMFCHeaderCtrl::EnableMultipleSort, aby włączyć lub wyłączyć tryb sortowania wielu kolumn. Co najmniej dwie kolumny mogą uczestniczyć w sortowaniu, jeśli kontrolka nagłówka jest w trybie sortowania wielu kolumn.

CMFCHeaderCtrl::OnDrawItem

Wywoływana przez strukturę w celu narysowania kolumny kontrolki nagłówka.

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

Parametry

PDC
[in] Wskaźnik do kontekstu urządzenia.

iItem
[in] Indeks na podstawie zera elementu do rysowania.

Rect
[in] Prostokąt ograniczenia elementu do rysowania.

bIsPressed
[in] WARTOŚĆ TRUE, aby narysować element w stanie naciśniętym; w przeciwnym razie, FAŁSZ.

bIsHighlighted
[in] WARTOŚĆ TRUE, aby narysować element w stanie wyróżnionym; w przeciwnym razie, FAŁSZ.

CMFCHeaderCtrl::OnDrawsortArrow

Wywoływana przez strukturę w celu narysowania strzałki sortowania.

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

Parametry

PDC
[in] Wskaźnik do kontekstu urządzenia.

retArrow
[in] Prostokąt ograniczenia strzałki sortowania.

CMFCHeaderCtrl::OnFillBackground

Wywoływana przez strukturę w celu wypełnienia tła kolumny kontrolki nagłówka.

virtual void OnFillBackground(CDC* pDC);

Parametry

PDC
[in] Wskaźnik do kontekstu urządzenia.

Uwagi

CMFCHeaderCtrl::RemoveSortColumn

Usuwa określoną kolumnę z listy kolumn sortowania.

void RemoveSortColumn(int iColumn);

Parametry

iColumn
[in] Indeks zerowy kolumny do usunięcia.

CMFCHeaderCtrl::SetSortColumn

Ustawia kolejność sortowania określonej kolumny w kontrolce nagłówka.

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

Parametry

iColumn
[in] Indeks zerowy kolumny kontrolki nagłówka. Jeśli ten parametr jest mniejszy niż zero, ta metoda usuwa wszystkie kolumny z listy kolumn sortowania.

bAscending
[in] Określa kolejność sortowania kolumny, którą określa parametr iColumn . WARTOŚĆ TRUE, aby ustawić kolejność rosnącą; FAŁSZ, aby ustawić kolejność malejącą. Wartość domyślna to TRUE.

bAdd
[in] WARTOŚĆ TRUE, aby ustawić kolejność sortowania kolumny, którą określa parametr iColumn .

Jeśli bieżąca kontrolka nagłówka jest w trybie sortowania wielu kolumn, ta metoda dodaje określoną kolumnę do listy kolumn sortowania. Użyj polecenia CMFCHeaderCtrl::EnableMultipleSort , aby ustawić tryb sortowania wielu kolumn.

Jeśli nie ustawiono trybu sortowania wielu kolumn i ta metoda jest kompilowana w trybie debugowania, ta metoda jest asercyjna. Jeśli nie ustawiono trybu sortowania wielu kolumn i ta metoda jest kompilowana w trybie detalicznym, ta metoda najpierw usuwa wszystkie kolumny z listy kolumn sortowania, a następnie dodaje określoną kolumnę do listy.

FAŁSZ, aby najpierw usunąć wszystkie kolumny z listy sortowania, a następnie dodać określoną kolumnę do listy. Wartość domyślna to FALSE.

Uwagi

Użyj tej metody, aby ustawić kolejność sortowania kolumny. W razie potrzeby ta metoda dodaje kolumnę do listy kolumn sortowania. Kontrolka nagłówka używa kolejności sortowania, aby narysować strzałkę sortowania wskazującą w górę lub w dół.

Zobacz też

Wykres hierarchii
Klasy
Klasa CMFCListCtrl