Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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
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.