CMFCHeaderCtrl – třída
Třída CMFCHeaderCtrl
podporuje řazení více sloupců v ovládacím prvku záhlaví.
Syntaxe
class CMFCHeaderCtrl : public CHeaderCtrl
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CMFCHeaderCtrl::CMFCHeaderCtrl | CMFCHeaderCtrl Vytvoří objekt. |
CMFCHeaderCtrl::~CMFCHeaderCtrl |
Destruktor. |
Veřejné metody
Název | Popis |
---|---|
CMFCHeaderCtrl::EnableMultipleSort | Povolí nebo zakáže režim řazení více sloupců pro aktuální ovládací prvek záhlaví. |
CMFCHeaderCtrl::GetColumnState | Určuje, jestli sloupec není seřazený, nebo je seřazený vzestupně nebo sestupně. |
CMFCHeaderCtrl::GetSortColumn | Načte index založený na nule prvního seřazeného sloupce v ovládacím prvku záhlaví. |
CMFCHeaderCtrl::GetThisClass |
Používá se architekturou k získání ukazatele na CRuntimeClass objektu, který je přidružen k tomuto typu třídy. |
CMFCHeaderCtrl::IsAscending | Určuje, jestli je libovolný sloupec v ovládacím prvku záhlaví seřazený vzestupně. |
CMFCHeaderCtrl::IsDialogControl | Určuje, zda nadřazené okno aktuálního ovládacího prvku záhlaví je dialogové okno. |
CMFCHeaderCtrl::IsMultipleSort | Určuje, jestli je aktuální ovládací prvek záhlaví v režimu řazení více sloupců. |
CMFCHeaderCtrl::RemoveSortColumn | Odebere zadaný sloupec ze seznamu sloupců řazení. |
CMFCHeaderCtrl::SetSortColumn | Nastaví pořadí řazení zadaného sloupce v ovládacím prvku záhlaví. |
Chráněné metody
Název | Popis |
---|---|
CMFCHeaderCtrl::OnDrawItem | Volá se rozhraním pro vykreslení sloupce ovládacího prvku záhlaví. |
CMFCHeaderCtrl::OnDrawSortArrow | Volá se podle architektury pro vykreslení šipky řazení. |
CMFCHeaderCtrl::OnFillBackground | Volá se rozhraním pro vyplnění pozadí sloupce ovládacího prvku záhlaví. |
Příklad
Následující příklad ukazuje, jak vytvořit objekt CMFCHeaderCtrl
třídy a jak povolit režim řazení více sloupců pro aktuální ovládací prvek záhlaví.
CMFCHeaderCtrl *headerCtrl = new CMFCHeaderCtrl();
headerCtrl->EnableMultipleSort();
Poznámky
Třída CMFCHeaderCtrl
nakreslí šipku řazení na sloupec ovládacího prvku záhlaví, která označuje, že je sloupec seřazený. Režim řazení více sloupců použijte, pokud lze současně seřadit sadu sloupců v ovládacím prvku nadřazeného seznamu (CMFCListCtrl Třída).
Hierarchie dědičnosti
Požadavky
Záhlaví: afxheaderctrl.h
CMFCHeaderCtrl::CMFCHeaderCtrl
CMFCHeaderCtrl
Vytvoří objekt.
CMFCHeaderCtrl::CMFCHeaderCtrl()
Poznámky
Tento konstruktor inicializuje následující členské proměnné na zadané hodnoty:
Proměnná člena | Hodnota |
---|---|
m_bIsMousePressed |
FALSE |
m_bMultipleSort |
FALSE |
m_bAscending |
TRUE |
m_nHighlightedItem |
-1 |
m_bTracked |
FALSE |
m_bIsDlgControl |
FALSE |
m_hFont |
NULL |
CMFCHeaderCtrl::EnableMultipleSort
Povolí nebo zakáže režim řazení více sloupců pro aktuální ovládací prvek záhlaví.
void EnableMultipleSort(BOOL bEnable=TRUE);
Parametry
bEnable
[v] TRUE pro povolení režimu řazení více sloupců; NEPRAVDA, pokud chcete zakázat režim řazení více sloupců a odebrat všechny sloupce ze seznamu seřazených sloupců. Výchozí hodnota je PRAVDA.
Poznámky
Pomocí této metody můžete povolit nebo zakázat režim řazení více sloupců. Dva nebo více sloupců se můžou účastnit řazení, pokud je ovládací prvek záhlaví v režimu řazení více sloupců.
CMFCHeaderCtrl::GetColumnState
Určuje, jestli je sloupec neseřazený nebo seřazený vzestupně nebo sestupně.
int GetColumnState(int iColumn) const;
Parametry
iColumn
[v] Index sloupce založený na nule.
Návratová hodnota
Hodnota, která označuje stav řazení zadaného sloupce. V následující tabulce jsou uvedené možné hodnoty:
Hodnota | Popis |
---|---|
-1 | Seřazeno sestupně. |
0 | Není seřazeno. |
0 | Seřadí se vzestupně. |
Poznámky
CMFCHeaderCtrl::GetSortColumn
Načte index založený na nule prvního seřazeného sloupce v ovládacím prvku záhlaví.
int GetSortColumn() const;
Návratová hodnota
Index seřazeného sloupce nebo -1, pokud se nenajde žádný seřazený sloupec.
Poznámky
Pokud je ovládací prvek hlavičky v režimu řazení více sloupců a zkompilovali jste aplikaci v režimu ladění, tato metoda tvrdí a radí, abyste místo toho použili CMFCHeaderCtrl::GetColumnState metoda. Pokud je ovládací prvek záhlaví v režimu řazení více sloupců a zkompilovali jste aplikaci v maloobchodním režimu, vrátí tato metoda hodnotu -1.
CMFCHeaderCtrl::IsAscending
Určuje, jestli je libovolný sloupec v ovládacím prvku záhlaví seřazený vzestupně.
BOOL IsAscending() const;
Návratová hodnota
TRUE, pokud je některý sloupec v ovládacím prvku záhlaví seřazen vzestupně; jinak NEPRAVDA.
Poznámky
Hodnota, kterou tato metoda vrátí, se používá k zobrazení odpovídající šipky řazení u položky ovládacího prvku záhlaví. K nastavení pořadí řazení použijte cmFCHeaderCtrl::SetSortColumn metoda.
CMFCHeaderCtrl::IsDialogControl
Určuje, zda nadřazené okno aktuálního ovládacího prvku záhlaví je dialogové okno.
BOOL IsDialogControl() const;
Návratová hodnota
TRUE, pokud nadřazené okno aktuálního ovládacího prvku záhlaví je dialogové okno; jinak NEPRAVDA.
CMFCHeaderCtrl::IsMultipleSort
Určuje, jestli je aktuální ovládací prvek záhlaví v režimu řazení více sloupců.
BOOL IsMultipleSort() const;
Návratová hodnota
TRUE, pokud je povolen režim řazení více sloupců; jinak NEPRAVDA.
Poznámky
K povolení nebo zakázání režimu řazení více sloupců použijte cmFCHeaderCtrl::EnableMultipleSort metoda. Dva nebo více sloupců se můžou účastnit řazení, pokud je ovládací prvek záhlaví v režimu řazení více sloupců.
CMFCHeaderCtrl::OnDrawItem
Volá se rozhraním pro vykreslení sloupce ovládacího prvku záhlaví.
virtual void OnDrawItem(
CDC* pDC,
int iItem,
CRect rect,
BOOL bIsPressed,
BOOL bIsHighlighted);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
iItem
[v] Index položky založený na nule, který se má nakreslit.
Rect
[v] Ohraničující obdélník položky, který chcete nakreslit.
bIsPressed
[v] TRUE pro kreslení položky v lisované stavu; jinak NEPRAVDA.
bIsHighlighted
[v] TRUE pro kreslení položky ve zvýrazněném stavu; jinak NEPRAVDA.
CMFCHeaderCtrl::OnDrawSortArrow
Volá se podle architektury pro vykreslení šipky řazení.
virtual void OnDrawSortArrow(
CDC* pDC,
CRect rectArrow);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
rectArrow
[v] Ohraničující obdélník šipky řazení.
CMFCHeaderCtrl::OnFillBackground
Volá se rozhraním pro vyplnění pozadí sloupce ovládacího prvku záhlaví.
virtual void OnFillBackground(CDC* pDC);
Parametry
pDC
[v] Ukazatel na kontext zařízení.
Poznámky
CMFCHeaderCtrl::RemoveSortColumn
Odebere zadaný sloupec ze seznamu sloupců řazení.
void RemoveSortColumn(int iColumn);
Parametry
iColumn
[v] Index sloupce založený na nule, který chcete odebrat.
CMFCHeaderCtrl::SetSortColumn
Nastaví pořadí řazení zadaného sloupce v ovládacím prvku záhlaví.
void SetSortColumn(
int iColumn,
BOOL bAscending=TRUE,
BOOL bAdd=FALSE);
Parametry
iColumn
[v] Index ovládacího prvku záhlaví založený na nule. Pokud je tento parametr menší než nula, tato metoda odebere všechny sloupce ze seznamu sloupců řazení.
BAscending
[v] Určuje pořadí řazení sloupce, který určuje parametr iColumn . PRAVDA pro nastavení vzestupného pořadí; FALSE, pokud chcete nastavit sestupné pořadí. Výchozí hodnota je PRAVDA.
bAdd
[v] HODNOTA TRUE pro nastavení pořadí řazení sloupce, který určuje parametr iColumn .
Pokud je aktuální ovládací prvek záhlaví v režimu řazení více sloupců, tato metoda přidá zadaný sloupec do seznamu sloupců řazení. K nastavení režimu řazení více sloupců použijte CMFCHeaderCtrl::EnableMultipleSort .
Pokud není nastaven režim řazení více sloupců a tato metoda je zkompilována v režimu ladění, tato metoda tvrdí. Pokud není nastaven režim řazení více sloupců a tato metoda je zkompilována v maloobchodním režimu, tato metoda nejprve odebere všechny sloupce ze seznamu sloupců řazení a pak přidá zadaný sloupec do seznamu.
FALSE pro první odebrání všech sloupců ze seznamu sloupců řazení a následné přidání zadaného sloupce do seznamu. Výchozí hodnota je FALSE.
Poznámky
Pomocí této metody můžete nastavit pořadí řazení sloupce. V případě potřeby tato metoda přidá sloupec do seznamu sloupců řazení. Ovládací prvek záhlaví používá pořadí řazení k vykreslení šipky řazení, která odkazuje nahoru nebo dolů.