Partilhar via


Classe CMFCHeaderCtrl

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

A CMFCHeaderCtrl classe suporta ordenar múltiplas colunas num controlo de cabeçalho.

Sintaxe

class CMFCHeaderCtrl : public CHeaderCtrl

Membros

Construtores Públicos

Nome Description
CMFCHeaderCtrl::CMFCHeaderCtrl Constrói um CMFCHeaderCtrl objeto.
CMFCHeaderCtrl::~CMFCHeaderCtrl Destruidor.

Métodos Públicos

Nome Description
CMFCHeaderCtrl::EnableMultipleSort Ativa ou desativa o modo de ordenação de múltiplas colunas para o controlo atual do cabeçalho.
CMFCHeaderCtrl::GetColumnState Indica se uma coluna não está ordenada, ou está ordenada por ordem crescente ou descendente.
CMFCHeaderCtrl::GetSortColumn Recupera o índice baseado em zero da primeira coluna ordenada no controlo do cabeçalho.
CMFCHeaderCtrl::GetThisClass Usado pelo framework para obter um ponteiro para o objeto CRuntimeClass associado a este tipo de classe.
CMFCHeaderCtrl::IsAscending Indica se alguma coluna no controlo do cabeçalho está ordenada por ordem crescente.
CMFCHeaderCtrl::IsDialogControl Indica se a janela principal do controlo atual do cabeçalho é uma caixa de diálogo.
CMFCHeaderCtrl::IsMultipleSort Indica se o controlo atual do cabeçalho está em modo de ordenação por múltiplas colunas .
CMFCHeaderCtrl::RemoveSortColumn Remove a coluna especificada da lista de colunas de ordenação.
CMFCHeaderCtrl::SetSortColumn Define a ordem de ordenação de uma coluna especificada num controlo de cabeçalho.

Métodos Protegidos

Nome Description
CMFCHeaderCtrl::OnDrawItem Chamado pelo framework para desenhar uma coluna de controlo de cabeçalho.
CMFCHeaderCtrl::OnDrawSortArrow Chamado pela estrutura para desenhar a seta de ordenação.
CMFCHeaderCtrl::OnFillBackground Chamado pelo framework para preencher o fundo de uma coluna de controlo de cabeçalho.

Example

O exemplo seguinte demonstra como construir um objeto da CMFCHeaderCtrl classe e como ativar o modo de ordenação de múltiplas colunas para o controlo atual do cabeçalho.

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

Observações

A CMFCHeaderCtrl classe desenha uma seta de ordenação numa coluna de controlo do cabeçalho para indicar que a coluna está ordenada. Use o modo de ordenação por múltiplas colunas se um conjunto de colunas no controlo da lista principal ( CMFCListCtrl Class) puder ser ordenado ao mesmo tempo.

Hierarquia de herança

CObject

CCmdTarget

CWnd

CHeaderCtrl

CMFCHeaderCtrl

Requerimentos

Cabeçalho: afxheaderctrl.h

CMFCHeaderCtrl::CMFCHeaderCtrl

Constrói um CMFCHeaderCtrl objeto.

CMFCHeaderCtrl::CMFCHeaderCtrl()

Observações

Este construtor inicializa as seguintes variáveis membros nos valores especificados:

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

CMFCHeaderCtrl::EnableMultipleSort

Ativa ou desativa o modo de ordenação de múltiplas colunas para o controlo atual do cabeçalho.

void EnableMultipleSort(BOOL bEnable=TRUE);

Parâmetros

bEnable
[dentro] TRUE para ativar o modo de ordenação com múltiplas colunas; FALSE para desativar o modo de ordenação por múltiplas colunas e remover quaisquer colunas da lista de colunas ordenadas. O valor padrão é VERDADEIRO.

Observações

Use este método para ativar ou desativar o modo de ordenação por múltiplas colunas. Duas ou mais colunas podem participar numa ordenação se o controlo do cabeçalho estiver em modo de ordenação por múltiplas colunas.

CMFCHeaderCtrl::GetColumnState

Indica se uma coluna não está ordenada, ou está ordenada por ordem crescente ou descendente.

int GetColumnState(int iColumn) const;

Parâmetros

iColumn
[dentro] O índice zero de uma coluna.

Valor de retorno

Um valor que indica o estado de sorteamento da coluna especificada. A tabela seguinte lista os valores possíveis:

Valor Description
-1 Organizado por ordem decrescente.
0 Não está resolvido.
1 Organizados por ordem crescente.

Observações

CMFCHeaderCtrl::GetSortColumn

Recupera o índice baseado em zero da primeira coluna ordenada no controlo do cabeçalho.

int GetSortColumn() const;

Valor de retorno

O índice de uma coluna ordenada, ou -1 se não for encontrada nenhuma coluna ordenada.

Observações

Se o controlo do cabeçalho estiver em modo de ordenação por múltiplas colunas e tiver compilado a aplicação em modo de depuração, este método afirma e aconselha a usar o método CMFCHeaderCtrl::GetColumnState em vez disso. Se o controlo do cabeçalho estiver em modo de ordenação por múltiplas colunas e compilaste a aplicação em modo de retalho, este método retorna -1.

CMFCHeaderCtrl::IsAscending

Indica se alguma coluna no controlo do cabeçalho está ordenada por ordem crescente.

BOOL IsAscending() const;

Valor de retorno

TRUE se qualquer coluna do controlo do cabeçalho estiver ordenada por ordem crescente; caso contrário, FALSO.

Observações

O valor que este método devolve é usado para mostrar a seta de ordenação apropriada no item de controlo do cabeçalho. Use o método CMFCHeaderCtrl::SetSortColumn para definir a ordem de ordenação.

CMFCHeaderCtrl::IsDialogControl

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

BOOL IsDialogControl() const;

Valor de retorno

TRUE se a janela pai do controlo atual do cabeçalho for uma caixa de diálogo; caso contrário, FALSO.

CMFCHeaderCtrl::IsMultipleSort

Indica se o controlo atual do cabeçalho está em modo de ordenação por múltiplas colunas .

BOOL IsMultipleSort() const;

Valor de retorno

TRUE se o modo de ordenação por múltiplas colunas estiver ativado; caso contrário, FALSO.

Observações

Use o método CMFCHeaderCtrl::EnableMultipleSort para ativar ou desativar o modo de ordenação por múltiplas colunas. Duas ou mais colunas podem participar numa ordenação se o controlo do cabeçalho estiver em modo de ordenação por múltiplas colunas.

CMFCHeaderCtrl::OnDrawItem

Chamado pelo framework para desenhar uma coluna de controlo de cabeçalho.

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

Parâmetros

pDC
[dentro] Um apontador para o contexto de um dispositivo.

iItem
[dentro] O índice em base zero do item a tirar.

retângulo
[dentro] O retângulo delimitador do item a desenhar.

bIsPressed
[dentro] TRUE para desenhar o item em estado pressionado; caso contrário, FALSO.

bIsHighlighted
[dentro] TRUE para desenhar o item no estado destacado; caso contrário, FALSO.

CMFCHeaderCtrl::OnDrawSortArrow

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

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

Parâmetros

pDC
[dentro] Um apontador para o contexto de um dispositivo.

rectArrow
[dentro] O retângulo delimitador da seta de ordenação.

CMFCHeaderCtrl::OnFillBackground

Chamado pelo framework para preencher o fundo de uma coluna de controlo de cabeçalho.

virtual void OnFillBackground(CDC* pDC);

Parâmetros

pDC
[dentro] Um apontador para o contexto de um dispositivo.

Observações

CMFCHeaderCtrl::RemoveSortColumn

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

void RemoveSortColumn(int iColumn);

Parâmetros

iColumn
[dentro] O índice baseado em zero da coluna a remover.

CMFCHeaderCtrl::SetSortColumn

Define a ordem de ordenação de uma coluna especificada num controlo de cabeçalho.

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

Parâmetros

iColumn
[dentro] O índice baseado em zero de uma coluna de controlo de cabeçalho. Se este parâmetro for inferior a zero, este método remove todas as colunas da lista de colunas de ordenação.

bAscendente
[dentro] Especifica a ordem de ordenação da coluna que o parâmetro iColumn especifica. TRUE à ordem crescente do conjunto; FALSE para definir a ordem decrescente. O valor padrão é VERDADEIRO.

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

Se o controlo atual do cabeçalho estiver em modo de ordenação por múltiplas colunas , este método adiciona a coluna especificada à lista de colunas de ordenação. Usa o CMFCHeaderCtrl::EnableMultipleSort para definir o modo de ordenação com múltiplas colunas.

Se o modo de ordenação por múltiplas colunas não estiver definido e este método for compilado em modo de depuração, este método afirma. Se o modo de ordenação por múltiplas colunas não estiver definido e este método for compilado em modo de retalho, este método remove primeiro todas as colunas da lista de colunas de ordenação e depois adiciona a coluna especificada à lista.

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

Observações

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

Consulte também

Gráfico de Hierarquia
Classes
Classe CMFCListCtrl