Partilhar via


Classe CMFCHeaderCtrl

A classe CMFCHeaderCtrl dá suporte à classificação de várias colunas em um controle de cabeçalho.

Sintaxe

class CMFCHeaderCtrl : public CHeaderCtrl

Membros

Construtores públicos

Nome Descrição
CMFCHeaderCtrl::CMFCHeaderCtrl Constrói um objeto CMFCHeaderCtrl.
CMFCHeaderCtrl::~CMFCHeaderCtrl Destruidor.

Métodos públicos

Nome Descrição
CMFCHeaderCtrl::EnableMultipleSort Habilita ou desabilita o modo de classificação com múltiplas colunas para o controle de cabeçalho atual.
CMFCHeaderCtrl::GetColumnState Indica se uma coluna não está classificada ou se está classificada em ordem crescente ou decrescente.
CMFCHeaderCtrl::GetSortColumn Recupera o índice baseado em zero da primeira coluna classificada no controle de cabeçalho.
CMFCHeaderCtrl::GetThisClass Usado pela estrutura para obter um ponteiro para o objeto CRuntimeClass associado a esse tipo de classe.
CMFCHeaderCtrl::IsAscending Indica se alguma coluna no controle de cabeçalho está classificada em ordem crescente.
CMFCHeaderCtrl::IsDialogControl Indica se a janela pai do controle de cabeçalho atual é uma caixa de diálogo.
CMFCHeaderCtrl::IsMultipleSort Indica se o controle de cabeçalho atual está no modo de classificação com múltiplas colunas.
CMFCHeaderCtrl::RemoveSortColumn Remove a coluna especificada da lista de colunas de classificação.
CMFCHeaderCtrl::SetSortColumn Define a ordem de classificação de uma coluna especificada em um controle de cabeçalho.

Métodos protegidos

Nome Descrição
CMFCHeaderCtrl::OnDrawItem Chamado pela estrutura para desenhar uma coluna de controle de cabeçalho.
CMFCHeaderCtrl::OnDrawSortArrow Chamado pela estrutura para desenhar a seta de classificação.
CMFCHeaderCtrl::OnFillBackground Chamado pela estrutura para preencher o plano de fundo de uma coluna de controle de cabeçalho.

Exemplo

O exemplo a seguir demonstra como construir um objeto da classe CMFCHeaderCtrl e como habilitar o modo de classificação com múltiplas colunas para o controle de cabeçalho atual.

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

Comentários

A classe CMFCHeaderCtrl desenha uma seta de classificação em uma coluna de controle de cabeçalho para indicar que a coluna está classificada. Use o modo de classificação com múltiplas colunas se um conjunto de colunas no controle de lista pai (classe CMFCListCtrl) puder ser classificado ao mesmo tempo.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CHeaderCtrl

CMFCHeaderCtrl

Requisitos

Cabeçalho: afxheaderctrl.h

CMFCHeaderCtrl::CMFCHeaderCtrl

Constrói um objeto CMFCHeaderCtrl.

CMFCHeaderCtrl::CMFCHeaderCtrl()

Comentários

Esse construtor inicializa as seguintes variáveis de membro para os valores especificados:

Variável de membro Valor
m_bIsMousePressed FALSE
m_bMultipleSort FALSE
m_bAscending TRUE
m_nHighlightedItem -1
m_bTracked FALSE
m_bIsDlgControl FALSE
m_hFont NULO

CMFCHeaderCtrl::EnableMultipleSort

Habilita ou desabilita o modo de classificação com múltiplas colunas para o controle de cabeçalho atual.

void EnableMultipleSort(BOOL bEnable=TRUE);

Parâmetros

bEnable
[in] TRUE para habilitar o modo de classificação com múltiplas colunas, FALSE para desabilitar o modo de classificação com múltiplas colunas e remover qualquer coluna da lista de colunas classificadas. O valor padrão é TRUE.

Comentários

Use este método para habilitar ou desabilitar o modo de classificação com múltiplas colunas. Duas ou mais colunas poderão participar de uma classificação se o controle de cabeçalho estiver no modo de classificação com múltiplas colunas.

CMFCHeaderCtrl::GetColumnState

Indica se uma coluna não está classificada ou está classificada em ordem crescente ou decrescente.

int GetColumnState(int iColumn) const;

Parâmetros

iColumn
[in] O índice baseado em zero de uma coluna.

Valor de Devolução

Um valor que indica o status de classificação da coluna especificada. A tabela a seguir lista os valores possíveis:

Valor Descrição
-1 Classificado em ordem decrescente.
0 Não classificado.
1 Classificado em ordem crescente.

Comentários

CMFCHeaderCtrl::GetSortColumn

Recupera o índice baseado em zero da primeira coluna classificada no controle de cabeçalho.

int GetSortColumn() const;

Valor de Devolução

O índice de uma coluna classificada ou -1 se nenhuma coluna classificada for encontrada.

Comentários

Se o controle de cabeçalho estiver no modo de classificação com múltiplas colunas e você compilou o aplicativo no modo de depuração, esse método declarará e aconselhará você a usar o método CMFCHeaderCtrl::GetColumnState. Se o controle de cabeçalho estiver no modo de classificação com múltiplas colunas e você compilou o aplicativo no modo de varejo, esse método retornará -1.

CMFCHeaderCtrl::IsAscending

Indica se alguma coluna no controle de cabeçalho está classificada em ordem crescente.

BOOL IsAscending() const;

Valor de Devolução

TRUE se qualquer coluna no controle de cabeçalho for classificada em ordem crescente, caso contrário, será FALSE.

Comentários

O valor que esse método retornar será usado para exibir a seta de classificação apropriada no item de controle do cabeçalho. Use o método CMFCHeaderCtrl::SetSortColumn para definir a ordem de classificação.

CMFCHeaderCtrl::IsDialogControl

Indica se a janela pai do controle de cabeçalho atual é uma caixa de diálogo.

BOOL IsDialogControl() const;

Valor de Devolução

TRUE se a janela pai do controle de cabeçalho atual for uma caixa de diálogo, caso contrário, será FALSE.

CMFCHeaderCtrl::IsMultipleSort

Indica se o controle de cabeçalho atual está no modo de classificação com múltiplas colunas.

BOOL IsMultipleSort() const;

Valor de Devolução

TRUE se o modo de classificação com múltiplas colunas estiver habilitado, caso contrário, será FALSE.

Comentários

Use o método CMFCHeaderCtrl::EnableMultipleSort para habilitar ou desabilitar o modo de classificação com múltiplas colunas. Duas ou mais colunas poderão participar de uma classificação se o controle de cabeçalho estiver no modo de classificação com múltiplas colunas.

CMFCHeaderCtrl::OnDrawItem

Chamado pela estrutura para desenhar uma coluna de controle de cabeçalho.

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

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

iItem
[in] O índice baseado em zero do item a ser desenhado.

rect
[in] O retângulo delimitador do item a ser desenhado.

bIsPressed
[in] TRUE para desenhar o item no estado pressionado, caso contrário, será FALSE.

bIsHighlighted
[in] TRUE para desenhar o item em estado destacado, caso contrário, FALSO.

CMFCHeaderCtrl::OnDrawSortArrow

Chamado pela estrutura para desenhar a seta de classificação.

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

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

rectArrow
[in] O retângulo delimitador da seta de classificação.

CMFCHeaderCtrl::OnFillBackground

Chamado pela estrutura para preencher o plano de fundo de uma coluna de controle de cabeçalho.

virtual void OnFillBackground(CDC* pDC);

Parâmetros

pDC
[in] Um ponteiro para um contexto de dispositivo.

Comentários

CMFCHeaderCtrl::RemoveSortColumn

Remove a coluna especificada da lista de colunas de classificação.

void RemoveSortColumn(int iColumn);

Parâmetros

iColumn
[in] O índice baseado em zero da coluna a ser removida.

CMFCHeaderCtrl::SetSortColumn

Define a ordem de classificação de uma coluna especificada em um controle de cabeçalho.

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

Parâmetros

iColumn
[in] O índice baseado em zero de uma coluna de controle de cabeçalho. Se esse parâmetro for menor que zero, esse método removerá todas as colunas da lista de colunas de classificação.

bAscending
[in] Especifica a ordem de classificação da coluna especificada pelo parâmetro iColumn. TRUE para definir a ordem crescente, FALSE para definir a ordem decrescente. O valor padrão é TRUE.

bAdd
[in] TRUE para definir a ordem de classificação da coluna especificada pelo parâmetro iColumn.

Se o controle de cabeçalho atual estiver no modo de classificação com múltiplas colunas, esse método adicionará a coluna especificada à lista de colunas de classificação. Use CMFCHeaderCtrl::EnableMultipleSort para definir o modo de classificação com múltiplas colunas.

Se o modo de classificação com múltiplas colunas não estiver definido e esse método for compilado no modo de depuração, esse método será declarado. Se o modo de classificação com múltiplas colunas não estiver definido e esse método for compilado no modo de varejo, esse método primeiro removerá todas as colunas da lista de colunas de classificação e, em seguida, adicionará a coluna especificada à lista.

FALSE para primeiro remover todas as colunas da lista de colunas de classificação e, em seguida, adicionar a coluna especificada à lista. O valor padrão é FALSE.

Comentários

Use este método para definir a ordem de classificação de uma coluna. Se necessário, esse método adicionará a coluna à lista de colunas de classificação. O controle de cabeçalho usa a ordem de classificação para desenhar uma seta de classificação que aponta para cima ou para baixo.

Confira também

Gráfico da hierarquia
Classes
Classe CMFCListCtrl