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