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
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 retorno
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 retorno
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 retorno
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 retorno
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 retorno
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.