Classe CMFCHeaderCtrl

La classe supporta l'ordinamento CMFCHeaderCtrl di più colonne in un controllo intestazione.

Sintassi

class CMFCHeaderCtrl : public CHeaderCtrl

Membri

Costruttori pubblici

Nome Descrizione
CMFCHeaderCtrl::CMFCHeaderCtrl Costruisce un oggetto CMFCHeaderCtrl.
CMFCHeaderCtrl::~CMFCHeaderCtrl Distruttore.

Metodi pubblici

Nome Descrizione
CMFCHeaderCtrl::EnableMultipleSort Abilita o disabilita la modalità di ordinamento di più colonne per il controllo intestazione corrente.
CMFCHeaderCtrl::GetColumnState Indica se una colonna non è ordinata o è ordinata in ordine crescente o decrescente.
CMFCHeaderCtrl::GetSortColumn Recupera l'indice in base zero della prima colonna ordinata nel controllo intestazione.
CMFCHeaderCtrl::GetThisClass Usato dal framework per ottenere un puntatore all'oggetto CRuntimeClass associato a questo tipo di classe.
CMFCHeaderCtrl::IsAscending Indica se una colonna nel controllo intestazione è ordinata in ordine crescente.
CMFCHeaderCtrl::IsDialogControl Indica se la finestra padre del controllo intestazione corrente è una finestra di dialogo.
CMFCHeaderCtrl::IsMultipleSort Indica se il controllo intestazione corrente è in modalità di ordinamento di più colonne.
CMFCHeaderCtrl::RemoveSortColumn Rimuove la colonna specificata dall'elenco di colonne di ordinamento.
CMFCHeaderCtrl::SetSortColumn Imposta l'ordinamento di una colonna specificata in un controllo intestazione.

Metodi protetti

Nome Descrizione
CMFCHeaderCtrl::OnDrawItem Chiamato dal framework per disegnare una colonna di controllo intestazione.
CMFCHeaderCtrl::OnDrawSortArrow Chiamato dal framework per disegnare la freccia di ordinamento.
CMFCHeaderCtrl::OnFillBackground Chiamato dal framework per riempire lo sfondo di una colonna del controllo intestazione.

Esempio

Nell'esempio seguente viene illustrato come costruire un oggetto della CMFCHeaderCtrl classe e come abilitare la modalità di ordinamento di più colonne per il controllo intestazione corrente.

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

Osservazioni:

La CMFCHeaderCtrl classe disegna una freccia di ordinamento su una colonna del controllo intestazione per indicare che la colonna è ordinata. Utilizzare la modalità di ordinamento di più colonne se un set di colonne nel controllo elenco padre ( classe CMFCListCtrl) può essere ordinato contemporaneamente.

Gerarchia di ereditarietà

CObject

CCmdTarget

CWnd

CHeaderCtrl

CMFCHeaderCtrl

Requisiti

Intestazione: afxheaderctrl.h

CMFCHeaderCtrl::CMFCHeaderCtrl

Costruisce un oggetto CMFCHeaderCtrl.

CMFCHeaderCtrl::CMFCHeaderCtrl()

Osservazioni:

Questo costruttore inizializza le variabili membro seguenti nei valori specificati:

Variabile membro Valore
m_bIsMousePressed FALSE
m_bMultipleSort FALSE
m_bAscending TRUE
m_nHighlightedItem -1
m_bTracked FALSE
m_bIsDlgControl FALSE
m_hFont NULL

CMFCHeaderCtrl::EnableMultipleSort

Abilita o disabilita la modalità di ordinamento di più colonne per il controllo intestazione corrente.

void EnableMultipleSort(BOOL bEnable=TRUE);

Parametri

bEnable
[in] TRUE per abilitare la modalità di ordinamento di più colonne; FALSE per disabilitare la modalità di ordinamento di più colonne e rimuovere tutte le colonne dall'elenco di colonne ordinate. Il valore predefinito è TRUE.

Osservazioni:

Utilizzare questo metodo per abilitare o disabilitare la modalità di ordinamento di più colonne. Due o più colonne possono partecipare a un ordinamento se il controllo intestazione è in modalità di ordinamento a più colonne.

CMFCHeaderCtrl::GetColumnState

Indica se una colonna non è ordinata o è ordinata in ordine crescente o decrescente.

int GetColumnState(int iColumn) const;

Parametri

iColumn
[in] Indice in base zero di una colonna.

Valore restituito

Valore che indica lo stato di ordinamento della colonna specificata. La tabella seguente elenca i possibili valori:

valore Descrizione
-1 Ordinato in ordine decrescente.
0 Non ordinato.
1 Ordinato in ordine crescente.

Osservazioni:

CMFCHeaderCtrl::GetSortColumn

Recupera l'indice in base zero della prima colonna ordinata nel controllo intestazione.

int GetSortColumn() const;

Valore restituito

Indice di una colonna ordinata o -1 se non viene trovata alcuna colonna ordinata.

Osservazioni:

Se il controllo intestazione è in modalità di ordinamento di più colonne e l'applicazione è stata compilata in modalità di debug, questo metodo asserisce e consiglia di usare il metodo CMFCHeaderCtrl::GetColumnState . Se il controllo intestazione è in modalità di ordinamento a più colonne e l'applicazione è stata compilata in modalità definitiva, questo metodo restituisce -1.

CMFCHeaderCtrl::IsAscending

Indica se una colonna nel controllo intestazione è ordinata in ordine crescente.

BOOL IsAscending() const;

Valore restituito

TRUE se una colonna nel controllo intestazione è ordinata in ordine crescente; in caso contrario, FALSE.

Osservazioni:

Il valore restituito da questo metodo viene utilizzato per visualizzare la freccia di ordinamento appropriata sull'elemento del controllo intestazione. Utilizzare il metodo CMFCHeaderCtrl::SetSortColumn per impostare l'ordinamento.

CMFCHeaderCtrl::IsDialogControl

Indica se la finestra padre del controllo intestazione corrente è una finestra di dialogo.

BOOL IsDialogControl() const;

Valore restituito

TRUE se la finestra padre del controllo intestazione corrente è una finestra di dialogo; in caso contrario, FALSE.

CMFCHeaderCtrl::IsMultipleSort

Indica se il controllo intestazione corrente è in modalità di ordinamento di più colonne.

BOOL IsMultipleSort() const;

Valore restituito

TRUE se è abilitata la modalità di ordinamento di più colonne; in caso contrario, FALSE.

Osservazioni:

Usare il metodo CMFCHeaderCtrl::EnableMultipleSort per abilitare o disabilitare la modalità di ordinamento di più colonne. Due o più colonne possono partecipare a un ordinamento se il controllo intestazione è in modalità di ordinamento a più colonne.

CMFCHeaderCtrl::OnDrawItem

Chiamato dal framework per disegnare una colonna di controllo intestazione.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

iItem
[in] Indice in base zero dell'elemento da disegnare.

rect
[in] Rettangolo di delimitazione dell'elemento da disegnare.

bIsPressed
[in] TRUE per disegnare l'elemento in stato premuto; in caso contrario, FALSE.

bIsHighlighted
[in] TRUE per disegnare l'elemento nello stato evidenziato; in caso contrario, FALSE.

CMFCHeaderCtrl::OnDrawSortArrow

Chiamato dal framework per disegnare la freccia di ordinamento.

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

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

rectArrow
[in] Rettangolo di delimitazione della freccia di ordinamento.

CMFCHeaderCtrl::OnFillBackground

Chiamato dal framework per riempire lo sfondo di una colonna del controllo intestazione.

virtual void OnFillBackground(CDC* pDC);

Parametri

pDC
[in] Puntatore a un contesto di dispositivo.

Osservazioni:

CMFCHeaderCtrl::RemoveSortColumn

Rimuove la colonna specificata dall'elenco di colonne di ordinamento.

void RemoveSortColumn(int iColumn);

Parametri

iColumn
[in] Indice in base zero della colonna da rimuovere.

CMFCHeaderCtrl::SetSortColumn

Imposta l'ordinamento di una colonna specificata in un controllo intestazione.

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

Parametri

iColumn
[in] Indice in base zero di una colonna del controllo intestazione. Se questo parametro è minore di zero, questo metodo rimuove tutte le colonne dall'elenco di colonne di ordinamento.

bAscending
[in] Specifica l'ordinamento della colonna specificata dal parametro iColumn . TRUE per impostare l'ordine crescente; FALSE per impostare l'ordine decrescente. Il valore predefinito è TRUE.

bAdd
[in] TRUE per impostare l'ordinamento della colonna specificata dal parametro iColumn .

Se il controllo intestazione corrente è in modalità di ordinamento di più colonne, questo metodo aggiunge la colonna specificata all'elenco di colonne di ordinamento. Usare CMFCHeaderCtrl::EnableMultipleSort per impostare la modalità di ordinamento di più colonne.

Se la modalità di ordinamento di più colonne non è impostata e questo metodo viene compilato in modalità di debug, questo metodo asserisce. Se la modalità di ordinamento di più colonne non è impostata e questo metodo viene compilato in modalità definitiva, questo metodo rimuove prima tutte le colonne dall'elenco di colonne di ordinamento e quindi aggiunge la colonna specificata all'elenco.

FALSE per rimuovere prima tutte le colonne dall'elenco di colonne di ordinamento e quindi aggiungere la colonna specificata all'elenco. Il valore predefinito è FALSE.

Osservazioni:

Utilizzare questo metodo per impostare l'ordinamento di una colonna. Se necessario, questo metodo aggiunge la colonna all'elenco di colonne di ordinamento. Il controllo intestazione usa l'ordinamento per disegnare una freccia di ordinamento che punta verso l'alto o verso il basso.

Vedi anche

Grafico della gerarchia
Classi
Classe CMFCListCtrl