Partilhar via


CTreeCtrl Classe

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.

Fornece a funcionalidade do controlo de vista em árvore comum do Windows.

Sintaxe

class CTreeCtrl : public CWnd

Membros

Construtores Públicos

Nome Description
CTreeCtrl::CTreeCtrl Constrói um CTreeCtrl objeto.

Métodos Públicos

Nome Description
CTreeCtrl::Create Cria um controlo de vista em árvore e anexa-o a um CTreeCtrl objeto.
CTreeCtrl::CreateDragImage Cria um bitmap de arrastar para o item especificado na vista da árvore.
CTreeCtrl::CreateEx Cria um controlo de árvore com os estilos Windows estendidos especificados e anexa-o a um CTreeCtrl objeto.
CTreeCtrl::DeleteAllItems Apaga todos os itens num controlo de vista em árvore.
CTreeCtrl::DeleteItem Apaga um novo item num controlo de vista em árvore.
CTreeCtrl::EditLabel Edita um item especificado na vista da árvore no local.
CTreeCtrl::EndEditLabelNow Cancela a operação de edição no rótulo de um item da vista em árvore no controlo atual da vista em árvore.
CTreeCtrl::EnsureVisible Garante que um item de vista em árvore é visível no seu controlo de vista em árvore.
CTreeCtrl::Expand Expande, ou colapsa, os itens filhos do item especificado na vista da árvore.
CTreeCtrl::GetBkColor Recupera a cor de fundo atual do controlo.
CTreeCtrl::GetCheck Recupera o estado de verificação de um item de controlo de árvores.
CTreeCtrl::GetChildItem Recupera o filho de um item especificado em vista de árvore.
CTreeCtrl::GetCount Recupera o número de itens da árvore associados a um controlo de vista em árvore.
CTreeCtrl::GetDropHilightItem Recupera o alvo de uma operação de arrastar e largar.
CTreeCtrl::GetEditControl Recupera o handle do controlo de edição usado para editar o item especificado na vista da árvore.
CTreeCtrl::GetExtendedStyle Recupera os estilos estendidos que o controlo atual da vista em árvore está a usar.
CTreeCtrl::GetFirstVisibleItem Recupera o primeiro item visível do item de visualização em árvore especificado.
CTreeCtrl::GetImageList Recupera o handle da lista de imagens associada a um controlo de vista em árvore.
CTreeCtrl::GetIndent Recupera o deslocamento (em píxeis) de um item de vista em árvore a partir do seu pai.
CTreeCtrl::GetInsertMarkColor Recupera a cor usada para desenhar a marca de inserção para a vista em árvore.
CTreeCtrl::GetItem Recupera os atributos de um item especificado na vista de árvore.
CTreeCtrl::GetItemData Devolve o valor específico da aplicação associado a um item.
CTreeCtrl::GetItemExpandedImageIndex Recupera o índice da imagem para mostrar quando o item especificado do controlo atual da vista em árvore estiver no estado expandido.
CTreeCtrl::GetItemHeight Recupera a altura atual dos itens da vista em árvore.
CTreeCtrl::GetItemImage Recupera as imagens associadas a um item.
CTreeCtrl::GetItemPartRect Recupera o retângulo delimitador para uma parte específica de um item especificado no controlo atual da vista em árvore.
CTreeCtrl::GetItemRect Recupera o retângulo delimitador de um item de vista em árvore.
CTreeCtrl::GetItemState Devolve o estado de um artigo.
CTreeCtrl::GetItemStateEx Recupera o estado estendido do item especificado no controlo atual da vista em árvore.
CTreeCtrl::GetItemText Devolve o texto de um artigo.
CTreeCtrl::GetLastVisibleItem Recupera o último item expandido no controlo atual da vista em árvore.
CTreeCtrl::GetLineColor Recupera a cor atual da linha para o controlo de vista em árvore.
CTreeCtrl::GetNextItem Recupera o próximo item de vista em árvore que corresponde a uma relação especificada.
CTreeCtrl::GetNextSiblingItem Recupera o próximo irmão do item especificado na vista da árvore.
CTreeCtrl::GetNextVisibleItem Recupera o próximo item visível do item especificado na vista da árvore.
CTreeCtrl::GetParentItem Recupera o pai do item especificado na vista da árvore.
CTreeCtrl::GetPrevSiblingItem Recupera o irmão anterior do item especificado na vista da árvore.
CTreeCtrl::GetPrevVisibleItem Recupera o item visível anterior do item especificado na vista da árvore.
CTreeCtrl::GetRootItem Recupera a raiz do item especificado na vista da árvore.
CTreeCtrl::GetScrollTime Recupera o tempo máximo de scroll para o controlo de vista em árvore.
CTreeCtrl::GetSelectedCount Recupera o número de itens selecionados no controlo atual da vista em árvore.
CTreeCtrl::GetSelectedItem Recupera o item de visualização da árvore atualmente selecionado.
CTreeCtrl::GetTextColor Recupera a cor de texto atual do controlo.
CTreeCtrl::GetToolTips Recupera o handle para o controlo filho ToolTip usado por um controlo de vista em árvore.
CTreeCtrl::GetVisibleCount Recupera o número de itens visíveis na árvore associados a um controlo de vista em árvore.
CTreeCtrl::HitTest Devolve a posição atual do cursor relacionada com o CTreeCtrl objeto.
CTreeCtrl::InsertItem Insere um novo item num controlo de vista em árvore.
CTreeCtrl::ItemHasChildren Devolves diferentes de zero se o item especificado tiver itens filhos.
CTreeCtrl::MapAccIdToItem Mapeia o identificador de acessibilidade especificado para o handle para um item da vista em árvore no controlo atual da vista em árvore.
CTreeCtrl::MapItemToAccID Mapeia o handle especificado para um item de vista em árvore no controlo atual da vista em árvore para um identificador de acessibilidade.
CTreeCtrl::Select Seleciona, desloca-se para a vista ou redesenha um item especificado na vista da árvore.
CTreeCtrl::SelectDropTarget Redesenha o item da árvore como alvo de uma operação de arrastar e largar.
CTreeCtrl::SelectItem Seleciona um item específico de visualização em árvore.
CTreeCtrl::SelectSetFirstVisible Seleciona um item especificado na vista da árvore como o primeiro item visível.
CTreeCtrl::SetAutoscrollInfo Define a taxa de autoscroll do controlo atual da vista em árvore.
CTreeCtrl::SetBkColor Define a cor de fundo do controlo.
CTreeCtrl::SetCheck Define o estado de verificação de um item de controlo de árvore.
CTreeCtrl::SetExtendedStyle Define os estilos estendidos para o controlo atual da vista em árvore.
CTreeCtrl::SetImageList Define o handle da lista de imagens associado a um controlo de vista em árvore.
CTreeCtrl::SetIndent Define o deslocamento (em pixels) de um item de vista em árvore em relação ao seu pai.
CTreeCtrl::SetInsertMark Define a marca de inserção num controlo de vista em árvore.
CTreeCtrl::SetInsertMarkColor Define a cor usada para desenhar a marca de inserção para a vista em árvore.
CTreeCtrl::SetItem Define os atributos de um item especificado na vista da árvore.
CTreeCtrl::SetItemData Define o valor específico da aplicação associado a um item.
CTreeCtrl::SetItemExpandedImageIndex Define o índice da imagem para mostrar quando o item especificado do controlo atual da vista em árvore estiver no estado expandido.
CTreeCtrl::SetItemHeight Define a altura dos itens de vista em árvore.
CTreeCtrl::SetItemImage Associa imagens a um item.
CTreeCtrl::SetItemState Define o estado de um item.
CTreeCtrl::SetItemStateEx Define o estado estendido do item especificado no controlo atual da vista em árvore.
CTreeCtrl::SetItemText Define o texto de um item.
CTreeCtrl::SetLineColor Define a cor atual da linha para o controlo da vista em árvore.
CTreeCtrl::SetScrollTime Define o tempo máximo de scroll para o controlo da vista em árvore.
CTreeCtrl::SetTextColor Define a cor do texto do controlo.
CTreeCtrl::SetToolTips Define o controlo filho ToolTip de um controlo de vista em árvore.
CTreeCtrl::ShowInfoTip Apresenta a infotip do item especificado no controlo atual da vista em árvore.
CTreeCtrl::SortChildren Ordena os filhos de um determinado item parental.
CTreeCtrl::SortChildrenCB Ordena os filhos de um dado item pai usando uma função de ordenação definida pela aplicação.

Observações

Um "controlo de vista em árvore" é uma janela que apresenta uma lista hierárquica de itens, como os títulos num documento, as entradas num índice ou os ficheiros e diretórios num disco. Cada item consiste numa etiqueta e numa imagem bitmap opcional, e cada item pode ter uma lista de subitens associados. Ao clicar num item, o utilizador pode expandir e recolher a lista associada de subitens.

Este controlo (e, portanto, a CTreeCtrl classe) está disponível apenas para programas a correr sob Windows 98 e Windows NT versão 4 e posteriores.

Para mais informações sobre a utilização CTreeCtrlde , veja:

Hierarquia de herança

CObject

CCmdTarget

CWnd

CTreeCtrl

Requerimentos

Cabeçalho:afxcmn.h

CTreeCtrl::Create

Se especificar o controlo de árvore num modelo de caixa de diálogo, ou se estiver a usar CTreeView, o seu controlo de árvore é criado automaticamente quando a caixa de diálogo ou a vista é criada.

virtual BOOL Create(
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwStyle
Especifica o estilo do controlo da vista em árvore. Aplicar estilos de janelas, descritos em CreateWindow, e qualquer combinação de estilos de controlo de vista em árvore conforme descrito no SDK do Windows.

rect
Especifica o tamanho e a posição do controlo da vista em árvore. Pode ser um CRect objeto ou uma RECT estrutura.

pParentWnd
Especifica a janela pai do controlo da vista em árvore, normalmente um CDialog. Não pode ser NULL.

nID
Especifica o ID do controlo da vista em árvore.

Valor de retorno

Não nula se a inicialização fosse bem-sucedida; caso contrário, 0.

Observações

Se quiseres criar o controlo da árvore como uma janela filho de outra janela, usa a Create função membro. Se criar o controlo de árvore usando Create, deve passá-lo WS_VISIBLE, além de outros estilos de visualização em árvore.

Constróis um A CTreeCtrl em dois passos. Primeiro chama o construtor, depois chama Create, que cria o controlo da vista em árvore e o anexa ao CTreeCtrl objeto.

Para criar um controlo em árvore com estilos de janelas estendidos, chame CreateEx em vez de Create.

Example

// Assuming your window has a CTreeCtrl member named m_TreeCtrl,
// you can create the tree control window with a child ID of ID_MYTREE
// using a call like this:

m_TreeCtrl.Create(WS_VISIBLE | WS_TABSTOP | WS_CHILD | WS_BORDER |
                      TVS_HASBUTTONS | TVS_LINESATROOT | TVS_HASLINES |
                      TVS_DISABLEDRAGDROP | TVS_NOTOOLTIPS | TVS_EDITLABELS,
                  CRect(10, 10, 300, 100), this, ID_MYTREE);

// The control will have the appropriate window styles, and the tree
// control styles specified are those most commonly used.

CTreeCtrl::CreateEx

Chama esta função para criar um controlo (uma janela filha) e associá-lo ao CTreeCtrl objeto.

virtual BOOL CreateEx(
    DWORD dwExStyle,
    DWORD dwStyle,
    const RECT& rect,
    CWnd* pParentWnd,
    UINT nID);

Parâmetros

dwExStyle
Especifica o estilo estendido do controlo que está a ser criado. Para uma lista de estilos extensos do Windows, consulte o dwExStyle parâmetro para CreateWindowEx no SDK do Windows.

dwStyle
Especifica o estilo do controlo da vista em árvore. Aplicar estilos de janelas, descritos em CreateWindow, e qualquer combinação de estilos de controlo de vista em árvore conforme descrito no SDK do Windows.

rect
Uma referência a uma RECT estrutura que descreve o tamanho e a posição da janela a ser criada, em coordenadas cliente de pParentWnd.

pParentWnd
Um apontador para a janela que é o pai do controlo.

nID
O ID da janela criança do controlo.

Valor de retorno

Diferente de zero se for bem-sucedido, caso contrário 0.

Observações

Use CreateEx em vez de Create para aplicar estilos estendidos do Windows, especificados pelo prefácio WS_EX_de estilo estendido do Windows .

CTreeCtrl::CreateDragImage

Chame esta função para criar um bitmap de arrastar para o item dado num controlo de vista em árvore, crie uma lista de imagens para o bitmap e adicione o bitmap à lista de imagens.

CImageList* CreateDragImage(HTREEITEM hItem);

Parâmetros

hItem
Pega do item da árvore a ser arrastado.

Valor de retorno

Apontador para a lista de imagens à qual o bitmap de arrastar foi adicionado, se bem-sucedido; caso contrário NULL.

Observações

Uma aplicação utiliza as funções de lista de imagens para mostrar a imagem quando o item está a ser arrastado.

O CImageList objeto é permanente, e tens de o apagar quando terminares. Por exemplo:

HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();

CImageList *pImageList = m_TreeCtrl.CreateDragImage(hItem);

// Do something with the image list.

delete pImageList;

CTreeCtrl::CTreeCtrl

Constrói um CTreeCtrl objeto.

CTreeCtrl();

CTreeCtrl::DeleteAllItems

Chame esta função para eliminar todos os itens do controlo da vista em árvore.

BOOL DeleteAllItems();

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Example

// The underlying Windows API always returns TRUE
VERIFY(m_TreeCtrl.DeleteAllItems());

CTreeCtrl::DeleteItem

Chame esta função para eliminar um item do controlo da vista em árvore.

BOOL DeleteItem(HTREEITEM hItem);

Parâmetros

hItem
Handle do item da árvore a ser eliminado. Se hitem tiver esse TVI_ROOT valor, todos os itens são eliminados do controlo de visualização em árvore.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Example

// Look at all of the root-level items
HTREEITEM hCurrent = m_TreeCtrl.GetChildItem(TVI_ROOT);
while (hCurrent != NULL)
{
   // Get the text for the item. Notice we use TVIF_TEXT because
   // we want to retrieve only the text, but also specify TVIF_HANDLE
   // because we're getting the item by its handle.
   TVITEM item;
   TCHAR szText[1024];
   item.hItem = hCurrent;
   item.mask = TVIF_TEXT | TVIF_HANDLE;
   item.pszText = szText;
   item.cchTextMax = 1024;

   BOOL bWorked = m_TreeCtrl.GetItem(&item);

   // Try to get the next item
   hCurrent = m_TreeCtrl.GetNextItem(hCurrent, TVGN_NEXT);

   // If we successfuly retrieved an item, and the item's text
   // contains a lowercase letter 'e', delete the item.
   if (bWorked && _tcschr(item.pszText, 'e'))
      m_TreeCtrl.DeleteItem(item.hItem);
}

CTreeCtrl::EditLabel

Chame esta função para iniciar a edição no local do texto do item especificado.

CEdit* EditLabel(HTREEITEM hItem);

Parâmetros

hItem
Handle do item da árvore a ser editado.

Valor de retorno

Se for bem-sucedido, um ponteiro para o CEdit objeto que é usado para editar o texto do item; caso contrário NULL, .

Observações

A edição é feita substituindo o texto do item por um controlo de edição de uma linha que contém o texto.

Example

// Make sure the focus is set to the tree control.
m_TreeCtrl.SetFocus();

// Show the edit control on the label of the selected item.
// The tree control must have the TVS_EDITLABELS style set.
HTREEITEM hSel = m_TreeCtrl.GetSelectedItem();
CEdit *pmyEdit = m_TreeCtrl.EditLabel(hSel);
ASSERT(pmyEdit != NULL);

CTreeCtrl::EndEditLabelNow

Conclui a operação de edição no rótulo de um item em vista em árvore no controlo atual da vista em árvore.

BOOL EndEditLabelNow(BOOL fCancelWithoutSave);

Parâmetros

fCancelWithoutSave
[dentro] TRUE para descartar alterações ao item da vista em árvore antes de concluir a operação de edição, ou FALSE para guardar alterações ao item da vista em árvore antes de concluir a operação.

Valor de retorno

TRUE se este método for bem-sucedido; caso contrário, FALSE.

Observações

Este método envia a TVM_ENDEDITLABELNOW mensagem, que é descrita no SDK do Windows.

CTreeCtrl::EnsureVisible

Chame esta função para garantir que um item em vista de árvore é visível.

BOOL EnsureVisible(HTREEITEM hItem);

Parâmetros

hItem
Pega do item da árvore a ser tornado visível.

Valor de retorno

Retorna TRUE se o sistema deslocou os itens no controlo da vista em árvore para garantir que o item especificado é visível. Caso contrário, o valor de retorno é FALSE.

Observações

Se necessário, a função expande o item pai ou desloca o controlo da vista em árvore para que o item fique visível.

Example

HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();
// hmyItem is the item that I want to ensure is visible.
HTREEITEM hmyItem = m_TreeCtrl.GetChildItem(hItem);

// Expand the parent, if possible.
HTREEITEM hParent = m_TreeCtrl.GetParentItem(hmyItem);
if (hParent != NULL)
   m_TreeCtrl.Expand(hParent, TVE_EXPAND);

// Ensure the item is visible.
m_TreeCtrl.EnsureVisible(hmyItem);

CTreeCtrl::Expand

Chame esta função para expandir ou colapsar a lista de itens filhos, se existirem, associados ao item pai dado.

BOOL Expand(
    HTREEITEM hItem,
    UINT nCode);

Parâmetros

hItem
A alça do item da árvore a ser expandida.

nCode
Uma bandeira a indicar o tipo de ação a ser tomada. Esta bandeira pode ter um dos seguintes valores:

  • TVE_COLLAPSE Colapsa a lista.

  • TVE_COLLAPSERESET Colapsa a lista e remove os itens filhos. A TVIS_EXPANDEDONCE bandeira do estado é reiniciada. Esta bandeira deve ser usada com a TVE_COLLAPSE bandeira.

  • TVE_EXPAND Expande a lista.

  • TVE_TOGGLE Colapsa a lista se estiver atualmente expandida ou expande-a se estiver atualmente colapsada.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Example

Veja o exemplo para CTreeCtrl::EnsureVisible.

CTreeCtrl::GetBkColor

Esta função membro implementa o comportamento da mensagem TVM_GETBKCOLORWin32 , conforme descrito no SDK do Windows.

COLORREF GetBkColor() const;

Valor de retorno

Um valor que representa a cor de fundo atual da COLORREF janela para o controlo. Se este valor for -1, o controlo está a usar a cor da janela do sistema. Neste caso, podes usar ::GetSysColor(COLOR_WINDOW) para obter a cor atual do sistema que o controlo está a usar.

Example

Veja o exemplo para CTreeCtrl::SetTextColor.

CTreeCtrl::GetCheck

Chame esta função membro para recuperar o estado de verificação de um item.

BOOL GetCheck(HTREEITEM hItem) const;

Parâmetros

hItem
Sobre HTREEITEM o qual receber a informação do estado.

Valor de retorno

Diferente de zero se o item de controlo da árvore estiver assinalado; caso contrário, 0.

Example

Veja o exemplo para CTreeCtrl::SetCheck.

CTreeCtrl::GetChildItem

Chame esta função para recuperar o item da vista em árvore que é filho do item especificado por hItem.

HTREEITEM GetChildItem(HTREEITEM hItem) const;

Parâmetros

hItem
Pega de um objeto da árvore.

Valor de retorno

A pega do item filho se for bem-sucedida; caso contrário NULL.

Example

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Delete all of the children of hmyItem.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hNextItem;
   HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hChildItem != NULL)
   {
      hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);
      m_TreeCtrl.DeleteItem(hChildItem);
      hChildItem = hNextItem;
   }
}

CTreeCtrl::GetCount

Chame esta função para recuperar a contagem dos itens num controlo de vista em árvore.

UINT GetCount() const;

Valor de retorno

O número de itens na vista em árvore controla.

Example

// Delete all of the items from the tree control.
m_TreeCtrl.DeleteAllItems();
ASSERT(m_TreeCtrl.GetCount() == 0);

CTreeCtrl::GetDropHilightItem

Chame esta função para recuperar o item que é o alvo de uma operação de arrastar e largar.

HTREEITEM GetDropHilightItem() const;

Valor de retorno

A pega do item caía se fosse bem-sucedida; caso contrário NULL.

Example

// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectDropTarget(hItem);
   ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}

CTreeCtrl::GetEditControl

Chame esta função para recuperar o handle do controlo de edição que está a ser usado para editar o texto de um item de visualização em árvore.

CEdit* GetEditControl() const;

Valor de retorno

Um ponteiro para o controlo de edição usado para editar o texto do item, se bem-sucedido; caso contrário NULL.

Example

// The string replacing the text in the edit control.
LPCTSTR lpszmyString = _T("New text!");

// Replace the text in the label edit control, if possible.
CEdit *pEdit = m_TreeCtrl.GetEditControl();

if (pEdit != NULL)
{
   pEdit->SetWindowText(lpszmyString);
}

CTreeCtrl::GetExtendedStyle

Recupera os estilos estendidos que o controlo atual da vista em árvore está a usar.

DWORD GetExtendedStyle() const;

Valor de retorno

Um valor que contém uma combinação bit a bit (OR) dos estilos estendidos do controlo atual da vista em árvore. Para mais informações, consulte Tree-View Estilos Estendidos de Controlo.

Observações

Este método envia a TVM_GETEXTENDEDSTYLE mensagem, que é descrita no SDK do Windows.

CTreeCtrl::GetFirstVisibleItem

Chame esta função para recuperar o primeiro item visível do controlo de vista em árvore.

HTREEITEM GetFirstVisibleItem() const;

Valor de retorno

A pega do primeiro objeto visível; caso contrário NULL.

Example

Veja o exemplo para CTreeCtrl::SetCheck.

CTreeCtrl::GetImageList

Chame esta função para recuperar o handle da lista de imagens normais ou de estado associada ao controlo da vista em árvore.

CImageList* GetImageList(UINT nImageList) const;

Parâmetros

nImageList
Tipo de lista de imagens para recuperar. A lista de imagens pode ter um dos seguintes valores:

  • TVSIL_NORMAL Recupera a lista de imagens normais, que contém as imagens selecionadas e não selecionadas para o item de visualização em árvore.

  • TVSIL_STATE Recupera a lista de imagens de estado, que contém as imagens dos itens de visualização em árvore que estão num estado definido pelo utilizador.

Valor de retorno

Apontar para a lista de imagens do controlo se for bem-sucedido; caso contrário NULL.

Observações

Cada item num controlo de vista em árvore pode ter um par de imagens bitmap associadas. Uma imagem é exibida quando o item é selecionado e a outra é exibida quando o item não está selecionado. Por exemplo, um item pode mostrar uma pasta aberta quando está selecionado e uma pasta fechada quando não está selecionado.

Para mais informações sobre listas de imagens, consulte a CImageList aula.

Example

ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == NULL);

m_TreeCtrl.SetImageList(&m_TreeImages, TVSIL_NORMAL);
ASSERT(m_TreeCtrl.GetImageList(TVSIL_NORMAL) == &m_TreeImages);

CTreeCtrl::GetIndent

Chame esta função para recuperar a quantidade, em pixels, os itens filhos são indentados em relação aos seus itens pais.

UINT GetIndent() const;

Valor de retorno

A quantidade de indentação medida em pixels.

Example

// Double the indent.
UINT uIndent = m_TreeCtrl.GetIndent();
m_TreeCtrl.SetIndent(2 * uIndent);

CTreeCtrl::GetInsertMarkColor

Esta função membro implementa o comportamento da mensagem TVM_GETINSERTMARKCOLORWin32 , conforme descrito no SDK do Windows.

COLORREF GetInsertMarkColor() const;

Valor de retorno

Um valor que contém a cor atual da COLORREF marca de inserção.

Example

// Use the highliight color for the insert mark color.
COLORREF crColor = ::GetSysColor(COLOR_HIGHLIGHT);
m_TreeCtrl.SetInsertMarkColor(crColor);
ASSERT(m_TreeCtrl.GetInsertMarkColor() == crColor);

CTreeCtrl::GetItem

Chame esta função para recuperar os atributos do item especificado na vista da árvore.

BOOL GetItem(TVITEM* pItem) const;

Parâmetros

pItem
Um ponteiro para uma TVITEM estrutura, conforme descrito no SDK do Windows.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Example

Veja o exemplo para CTreeCtrl::DeleteItem.

CTreeCtrl::GetItemData

Chame esta função para recuperar o valor específico da aplicação associado ao item especificado.

DWORD_PTR GetItemData(HTREEITEM hItem) const;

Parâmetros

hItem
Handle do item cujos dados devem ser recuperados.

Valor de retorno

Um valor específico de aplicação do tamanho do ponteiro associado ao item especificado por hItem.

Example

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Delete all of the children of hmyItem whose item data is
// not equal to zero.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hNextItem;
   HTREEITEM hChildItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hChildItem != NULL)
   {
      hNextItem = m_TreeCtrl.GetNextItem(hChildItem, TVGN_NEXT);

      if (m_TreeCtrl.GetItemData(hChildItem) != 0)
      {
         m_TreeCtrl.DeleteItem(hChildItem);
      }

      hChildItem = hNextItem;
   }
}

CTreeCtrl::GetItemExpandedImageIndex

Recupera o índice da imagem para mostrar quando o item especificado do controlo atual da vista em árvore estiver no estado expandido.

int GetItemExpandedImageIndex(HTREEITEM hItem)const;

Parâmetros

hItem
[dentro] Handle para um item de controlo em vista de árvore.

Valor de retorno

O índice da imagem a mostrar quando o item especificado está no estado expandido.

Observações

Este método envia a TVM_GETITEM mensagem, que é descrita no SDK do Windows. Essa mensagem devolve a TVITEMEX estrutura que descreve o item de controlo da vista em árvore, e depois este método recupera o iExpandedImage membro dessa estrutura.

CTreeCtrl::GetItemHeight

Esta função membro implementa o comportamento da mensagem TVM_GETITEMHEIGHTWin32 , conforme descrito no SDK do Windows.

SHORT GetItemHeight() const;

Valor de retorno

A altura do item, em píxeis.

Example

// Double the height of the items.
SHORT sHeight = m_TreeCtrl.GetItemHeight();
m_TreeCtrl.SetItemHeight(2 * sHeight);

CTreeCtrl::GetItemImage

Cada item num controlo de vista em árvore pode ter um par de imagens bitmap associadas.

BOOL GetItemImage(
    HTREEITEM hItem,
    int& nImage,
    int& nSelectedImage) const;

Parâmetros

hItem
A pega do item cuja imagem deve ser recuperada.

nImage
Um inteiro que recebe o índice da imagem do item dentro da lista de imagens do controlo da vista em árvore.

nSelectedImage
Um inteiro que recebe o índice da imagem selecionada do item dentro da lista de imagens do controlo de vista em árvore.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

As imagens aparecem no lado esquerdo da etiqueta de um artigo. Uma imagem é exibida quando o item é selecionado e a outra é exibida quando o item não está selecionado. Por exemplo, um item pode mostrar uma pasta aberta quando está selecionado e uma pasta fechada quando não está selecionado.

Chame esta função para recuperar o índice da imagem do item e da sua imagem selecionada na lista de imagens do controlo da vista em árvore.

Example

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// If the selected image is the same as the nonselected image
// then make the selected image one more than the nonselected image.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);
   int nImage, nSelectedImage;

   while (hItem != NULL)
   {
      m_TreeCtrl.GetItemImage(hItem, nImage, nSelectedImage);

      if (nImage == nSelectedImage)
      {
         m_TreeCtrl.SetItemImage(hItem, nImage, nImage + 1);
      }

      hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
   }
}

CTreeCtrl::GetItemPartRect

Recupera o retângulo delimitador para uma parte específica de um item especificado no controlo atual da vista em árvore.

BOOL GetItemPartRect(
    HTREEITEM hItem,
    int nPart,
    LPRECT lpRect)const;

Parâmetros

hItem
[dentro] Handle para um item de controlo em vista de árvore.

nPart
[dentro] Identificador da peça. Deve ser definido como TVGIPR_BUTTON.

lpRect
[fora] Aponta para uma RECT estrutura. Se este método for bem-sucedido, a estrutura recebe as coordenadas retangulares da parte especificada por hItem e nPart.

Valor de retorno

TRUE se este método for bem-sucedido; caso contrário, FALSE.

Observações

Cada elemento de controlo da árvore é delimitado por um retângulo gráfico. Sempre que um ponto desse retângulo é clicado, diz-se que o item foi atingido. Este método devolve o maior retângulo de modo que, quando um ponto do retângulo é clicado, o item identificado pelo hItem parâmetro é atingido.

Este método envia a TVM_GETITEMPARTRECT mensagem, que é descrita no SDK do Windows. Para mais informações, consulte a TreeView_GetItemPartRect macro.

Example

O primeiro exemplo de código define uma variável, m_treeCtrl, que é usada para aceder ao controlo atual da vista em árvore. O exemplo de código também define um inteiro sem sinal e várias HTREEITEM variáveis. Estas variáveis são usadas no exemplo seguinte.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

O próximo exemplo de código usa um identificador de acessibilidade e o CTreeCtrl::MapAccIdToItem método para recuperar um handle para o item raiz da tree-view. Depois, o exemplo usa o cabo e o CTreeCtrl::GetItemPartRect método para desenhar um retângulo 3D em torno desse item. Numa secção anterior do exemplo do código, que não é mostrada, criámos uma vista em árvore que consiste num nó de país/região raiz para os Estados Unidos, subnós para os estados da Pensilvânia e Washington, e itens em árvore para cidades desses estados. Utilizámos o CTreeCtrl::MapItemToAccID método para associar o item raiz da vista da árvore a um identificador de acessibilidade.

CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::GetItemRect

Chame esta função para recuperar o retângulo delimitador do hItem e determinar se ele é visível ou não.

BOOL GetItemRect(
    HTREEITEM hItem,
    LPRECT lpRect,
    BOOL bTextOnly) const;

Parâmetros

hItem
O cabo de um item de controlo de vista em árvore.

lpRect
Apontador para uma RECT estrutura que recebe o retângulo delimitador. As coordenadas são relativas ao canto superior esquerdo do controlo de vista em árvore.

bTextOnly
Se este parâmetro for diferente de zero, o retângulo delimitador inclui apenas o texto do item. Caso contrário, inclui toda a linha que o item ocupa no controlo de vista em árvore.

Valor de retorno

Não nulo se o item for visível, com o retângulo delimitador contido em lpRect. Caso contrário, 0 com lpRect não inicializado.

Example

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Dump the bounds of hmyItem.
if (hmyItem != NULL)
{
   RECT r;

   m_TreeCtrl.GetItemRect(hmyItem, &r, FALSE);

   TRACE(TEXT("left = %d, top = %d, right = %d, bottom = %d\r\n"),
         r.left,
         r.top,
         r.right,
         r.bottom);
}

CTreeCtrl::GetItemState

Devolve o estado do item especificado por hItem.

UINT GetItemState(
    HTREEITEM hItem,
    UINT nStateMask) const;

Parâmetros

hItem
Handle do item cujo estado deve ser recuperado.

nStateMask
Máscara indicando um ou mais estados a recuperar. Para mais informações sobre possíveis valores para nStateMask, veja a discussão sobre os state membros e stateMask da TVITEM estrutura no SDK do Windows.

Valor de retorno

A UINT que detém o operador OR bit a bit C++ (|) dos valores especificados por nStateMask. Para informações sobre possíveis valores, veja CTreeCtrl::GetItem. Para encontrar o valor de um estado específico, execute um operador AND bit a bit em C++ (&) f o valor do estado e o valor de retorno, como mostrado no exemplo seguinte.

Example

// Show all of the visible items in bold.
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   ASSERT(TVIS_BOLD & m_TreeCtrl.GetItemState(hItem, TVIS_BOLD));
   hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}

CTreeCtrl::GetItemStateEx

Recupera o estado estendido do item especificado no controlo atual da vista em árvore.

UINT GetItemStateEx(HTREEITEM hItem) const;

Parâmetros

hItem
[dentro] Handle para um item de controlo em vista de árvore.

Valor de retorno

O estado prolongado do item. Para mais informações, consulte o uStateEx elemento da TVITEMEX estrutura.

Observações

Este método envia a TVM_GETITEM mensagem, que é descrita no SDK do Windows. Essa mensagem devolve a TVITEMEX estrutura que descreve o item de controlo da vista em árvore, e este método recupera o uStateEx membro dessa estrutura.

CTreeCtrl::GetItemText

Devolve o texto do item especificado por hItem.

CString GetItemText(HTREEITEM hItem) const;

Parâmetros

hItem
Handle do item cujo texto deve ser recuperado.

Valor de retorno

Um CString objeto contendo o texto do item.

Example

Veja o exemplo para CTreeCtrl::GetNextItem.

CTreeCtrl::GetLastVisibleItem

Recupera o último item de nó não expandido no controlo atual da vista em árvore.

HTREEITEM GetLastVisibleItem() const;

Valor de retorno

O handle para o último item do nó não expandido se o método for bem-sucedido; caso contrário, NULL.

Observações

Este método envia a TVM_GETNEXTITEM mensagem, que é descrita no SDK do Windows. Para mais informações, consulte a TVGN_LASTVISIBLE flag no flag parâmetro dessa mensagem.

Example

O primeiro exemplo de código define uma variável, m_treeCtrl, que é usada para aceder ao controlo atual da vista em árvore. O exemplo de código também define um inteiro sem sinal e várias HTREEITEM variáveis. Uma ou mais destas variáveis são usadas no exemplo seguinte.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

O próximo exemplo de código recupera um handle para o último item de nó em vista de árvore não expandido e depois desenha um retângulo 3D em torno desse item. Numa secção anterior do exemplo do código, que não é mostrada, criámos uma vista em árvore que consiste num nó de país/região raiz para os Estados Unidos, subnós para os estados da Pensilvânia e Washington, e itens em árvore para cidades desses estados.

CRect rect;
HTREEITEM hLast = m_treeCtrl.GetLastVisibleItem();
m_treeCtrl.GetItemPartRect(hLast, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::GetLineColor

Esta função membro implementa o comportamento da mensagem TVM_GETLINECOLORWin32 , conforme descrito no SDK do Windows.

COLORREF GetLineColor() const;

Valor de retorno

A cor atual da linha.

Example

COLORREF cr = m_TreeCtrl.GetLineColor();

CTreeCtrl::GetNextItem

Chame esta função para recuperar o item de vista em árvore que tem a relação especificada, indicada pelo nCode parâmetro, para hItem.

HTREEITEM GetNextItem(
    HTREEITEM hItem,
    UINT nCode) const;

Parâmetros

hItem
Pega de um objeto da árvore.

nCode
Uma bandeira que indica o tipo de relação com hItem. Esta bandeira pode ter um dos seguintes valores:

  • TVGN_CARET Recupera o item selecionado no momento.

  • TVGN_CHILD Recupera o primeiro item filho do item especificado pelo hItem parâmetro.

  • TVGN_DROPHILITE Recupera o item que é alvo de uma operação de arrastar e largar.

  • TVGN_FIRSTVISIBLE Recupera o primeiro objeto visível.

  • TVGN_LASTVISIBLE Recupera o último item expandido na árvore. Isto não recupera o último item visível na janela de visualização em árvore.

  • TVGN_NEXT Recupera o próximo item irmão.

  • TVGN_NEXTVISIBLE Recupera o próximo item visível que se segue ao item especificado.

  • TVGN_PARENT Recupera o pai do item especificado.

  • TVGN_PREVIOUS Recupera o item irmão anterior.

  • TVGN_PREVIOUSVISIBLE Recupera o primeiro item visível que precede o item especificado.

  • TVGN_ROOT Recupera o primeiro item filho do item raiz do qual o item especificado faz parte.

Valor de retorno

A pega do próximo item se for bem-sucedida; caso contrário NULL.

Observações

Esta função retornará NULL se o item a recuperar for o nó raiz da árvore. Por exemplo, se usar esta mensagem com a TVGN_PARENT flag num filho de primeiro nível do nó raiz da vista em árvore, a mensagem devolverá NULL.

Example

Para um exemplo de utilização GetNextItem em loop, veja CTreeCtrl::DeleteItem.

// find the currently selected item
HTREEITEM hCurSel = m_TreeCtrl.GetNextItem(TVI_ROOT, TVGN_CARET);

// report it to the user
if (hCurSel == NULL)
{
   AfxMessageBox(_T("There is no selected item"));
}
else
{
   CString str;
   str.Format(_T("The currently selected item is \"%s\""),
              (LPCTSTR)m_TreeCtrl.GetItemText(hCurSel));
   AfxMessageBox((LPCTSTR)str);
}

CTreeCtrl::GetNextSiblingItem

Chame esta função para recuperar o próximo irmão de hItem.

HTREEITEM GetNextSiblingItem(HTREEITEM hItem) const;

Parâmetros

hItem
Pega de um objeto da árvore.

Valor de retorno

A pega do próximo item irmão; caso contrário NULL.

Example

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the children of hmyItem in bold.
if (m_TreeCtrl.ItemHasChildren(hmyItem))
{
   HTREEITEM hItem = m_TreeCtrl.GetChildItem(hmyItem);

   while (hItem != NULL)
   {
      m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
      hItem = m_TreeCtrl.GetNextSiblingItem(hItem);
   }
}

CTreeCtrl::GetNextVisibleItem

Chame esta função para recuperar o próximo item visível de hItem.

HTREEITEM GetNextVisibleItem(HTREEITEM hItem) const;

Parâmetros

hItem
Pega de um objeto da árvore.

Valor de retorno

O cabo do próximo objeto visível; caso contrário NULL.

Example

Veja o exemplo para CTreeCtrl::SetCheck.

CTreeCtrl::GetParentItem

Chame esta função para recuperar o pai de hItem.

HTREEITEM GetParentItem(HTREEITEM hItem) const;

Parâmetros

hItem
Pega de um objeto da árvore.

Valor de retorno

A pega do item principal; caso contrário NULL.

Observações

Esta função retornará NULL se o pai do item especificado for o nó raiz da árvore.

Example

Veja o exemplo para CTreeCtrl::EnsureVisible.

CTreeCtrl::GetPrevSiblingItem

Chame esta função para recuperar o irmão anterior de hItem.

HTREEITEM GetPrevSiblingItem(HTREEITEM hItem) const;

Parâmetros

hItem
Pega de um objeto da árvore.

Valor de retorno

O nome do irmão anterior; caso contrário NULL.

Example

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the previous siblings of hmyItem in bold.
HTREEITEM hItem = hmyItem;

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   hItem = m_TreeCtrl.GetPrevSiblingItem(hItem);
}

CTreeCtrl::GetPrevVisibleItem

Chame esta função para recuperar o item visível anterior de hItem.

HTREEITEM GetPrevVisibleItem(HTREEITEM hItem) const;

Parâmetros

hItem
Pega de um objeto da árvore.

Valor de retorno

A pega do item visível anterior; caso contrário NULL.

Example

HTREEITEM hmyItem = m_TreeCtrl.GetSelectedItem();

// Show all of the previous visible items of hmyItem in bold.
HTREEITEM hItem = hmyItem;

while (hItem != NULL)
{
   m_TreeCtrl.SetItemState(hItem, TVIS_BOLD, TVIS_BOLD);
   hItem = m_TreeCtrl.GetPrevVisibleItem(hItem);
}

CTreeCtrl::GetRootItem

Chame esta função para recuperar o item raiz do controlo da vista em árvore.

HTREEITEM GetRootItem() const;

Valor de retorno

O cabo do item raiz; caso contrário NULL.

Example

Veja o exemplo para CTreeCtrl::EditLabel.

CTreeCtrl::GetScrollTime

Chame esta função membro para recuperar o tempo máximo de scroll do controlo da vista em árvore.

UINT GetScrollTime() const;

Valor de retorno

O tempo máximo de scroll, em milissegundos.

Observações

Esta função membro implementa o comportamento da mensagem TVM_GETSCROLLTIMEWin32 , conforme descrito no SDK do Windows.

CTreeCtrl::GetSelectedCount

Recupera o número de itens selecionados no controlo atual da vista em árvore.

UINT GetSelectedCount();

Valor de retorno

O número de itens selecionados.

Observações

Este método envia a TVM_GETSELECTEDCOUNT mensagem, que é descrita no SDK do Windows.

CTreeCtrl::GetSelectedItem

Chame esta função para recuperar o item atualmente selecionado do controlo de vista em árvore.

HTREEITEM GetSelectedItem() const;

Valor de retorno

A pega do item selecionado; caso contrário NULL.

Example

// Expand the selected item and make it visible, if possible.
HTREEITEM hItem = m_TreeCtrl.GetSelectedItem();

if ((hItem != NULL) && m_TreeCtrl.ItemHasChildren(hItem))
{
   m_TreeCtrl.Expand(hItem, TVE_EXPAND);
   m_TreeCtrl.EnsureVisible(hItem);
}

CTreeCtrl::GetTextColor

Esta função membro implementa o comportamento da mensagem TVM_GETTEXTCOLORWin32 , conforme descrito no SDK do Windows.

COLORREF GetTextColor() const;

Valor de retorno

Um valor que representa a cor atual do COLORREF texto. Se este valor for -1, o controlo está a usar a cor do sistema para a cor do texto.

Example

Veja o exemplo para CTreeCtrl::SetTextColor.

CTreeCtrl::GetToolTips

Esta função membro implementa o comportamento da mensagem TVM_GETTOOLTIPSWin32 , conforme descrito no SDK do Windows.

CToolTipCtrl* GetToolTips() const;

Valor de retorno

Um ponteiro para um CToolTipCtrl objeto a ser usado pelo controlo da árvore. Se a Create função membro usar o estilo TVS_NOTOOLTIPS, não são usadas descrições de ferramentas e NULL é devolvida.

Observações

A implementação MFC de GetToolTips devolve um CToolTipCtrl objeto, que é usado pelo controlo da árvore, em vez de um handle, para um controlo tooltip.

Example

// If the tree control does not have a tooltips control,
// then use m_ToolTips as the tooltips for the tree control.
if (m_TreeCtrl.GetToolTips() == NULL)
{
   m_TreeCtrl.SetToolTips(&m_ToolTips);
}

CTreeCtrl::GetVisibleCount

Chame esta função para recuperar a contagem dos itens visíveis num controlo de vista em árvore.

UINT GetVisibleCount() const;

Valor de retorno

O número de itens visíveis no controlo da vista em árvore; caso contrário - 1.

Example

Veja o exemplo para CTreeCtrl::SetCheck.

CTreeCtrl::HitTest

Chame esta função para determinar a localização do ponto especificado em relação à área cliente de um controlo de vista em árvore.

HTREEITEM HitTest(
    CPoint pt,
    UINT* pFlags = NULL) const;

HTREEITEM HitTest(TVHITTESTINFO* pHitTestInfo) const;

Parâmetros

pt
Coordenadas do cliente do ponto a testar.

pFlags
Aponta para um inteiro que recebe informação sobre os resultados do teste de sucesso. Pode ser um ou mais dos valores listados sob o flags membro na secção de Observações.

pHitTestInfo
Endereço de uma TVHITTESTINFO estrutura que contém a posição a fazer o teste de acerto e que recebe informações sobre os resultados do teste de acerto.

Valor de retorno

O cabo do item de vista em árvore que ocupa o ponto especificado ou NULL , se nenhum item ocupar o ponto.

Observações

Quando esta função é chamada, o pt parâmetro especifica as coordenadas do ponto a testar. A função devolve a alavanca do item no ponto especificado ou NULL se nenhum item ocupar o ponto. Além disso, o pFlags parâmetro contém um valor que indica a localização do ponto especificado. Os valores possíveis são:

Valor Description
TVHT_ABOVE Por cima da área do cliente.
TVHT_BELOW Por baixo da área do cliente.
TVHT_NOWHERE Na área do cliente, mas abaixo do último item.
TVHT_ONITEM No bitmap ou etiqueta associada a um item.
TVHT_ONITEMBUTTON No botão associado a um item.
TVHT_ONITEMICON No bitmap associado a um item.
TVHT_ONITEMINDENT Na reentrância associada a um item.
TVHT_ONITEMLABEL Na etiqueta (string) associada a um item.
TVHT_ONITEMRIGHT Na área à direita de um item.
TVHT_ONITEMSTATEICON No ícone de estado de um item em vista de árvore que está num estado definido pelo utilizador.
TVHT_TOLEFT À esquerda da área do cliente.
TVHT_TORIGHT À direita da área do cliente.

Example

// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectItem(hItem);
}

CTreeCtrl::InsertItem

Chame esta função para inserir um novo item num controlo de vista em árvore.

HTREEITEM InsertItem(LPTVINSERTSTRUCT lpInsertStruct);

HTREEITEM InsertItem(
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam,
    HTREEITEM hParent,
    HTREEITEM hInsertAfter);

HTREEITEM InsertItem(
    LPCTSTR lpszItem,
    HTREEITEM hParent = TVI_ROOT,
    HTREEITEM hInsertAfter = TVI_LAST);

HTREEITEM InsertItem(
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    HTREEITEM hParent = TVI_ROOT,
    HTREEITEM hInsertAfter = TVI_LAST);

Parâmetros

lpInsertStruct
Um ponteiro para a TVINSERTSTRUCT que especifica os atributos do item de vista da árvore a ser inserido.

nMask
Integer especificando quais atributos definir. Veja a TVITEM estrutura no SDK do Windows.

lpszItem
Endereço de uma cadeia que contém o texto do item.

nImage
Índice da imagem do item na lista de imagens do controlo da vista em árvore.

nSelectedImage
Índice da imagem selecionada pelo item na lista de imagens do controlo de vista em árvore.

nState
Especifica valores para os estados do item. Consulte os estados dos elementos de controlo da Vista em Árvore no SDK do Windows para uma lista dos estados apropriados.

nStateMask
Especifica quais estados devem ser definidos. Veja a TVITEM estrutura no SDK do Windows.

lParam
Um valor específico de aplicação do tamanho do ponteiro associado ao item.

hParent
Handle do pai do item inserido.

hInsertAfter
Pega do item após a qual o novo item deve ser inserido.

Valor de retorno

Handle do novo item se for bem-sucedido; caso contrário NULL.

Observações

O exemplo mostra situações em que pode querer usar cada versão da função ao inserir um item de controlo de árvore.

Example

// Insert a root item using the structure. We must
// initialize a TVINSERTSTRUCT structure and pass its
// address to the call. 

TVINSERTSTRUCT tvInsert;
tvInsert.hParent = NULL;
tvInsert.hInsertAfter = NULL;
tvInsert.item.mask = TVIF_TEXT;
tvInsert.item.pszText = _T("United States");

HTREEITEM hCountry = m_TreeCtrl.InsertItem(&tvInsert);

// Insert subitems of that root. Pennsylvania is
// a state in the United States, so its item will be a child
// of the United States item. We won't set any image or states,
// so we supply only the TVIF_TEXT mask flag. This
// override provides nearly complete control over the
// insertion operation without the tedium of initializing
// a structure. If you're going to add lots of items
// to a tree, you might prefer the structure override
// as it affords you a performance win by allowing you
// to initialize some fields of the structure only once,
// outside of your insertion loop.

HTREEITEM hPA = m_TreeCtrl.InsertItem(TVIF_TEXT,
   _T("Pennsylvania"), 0, 0, 0, 0, 0, hCountry, NULL);

// Insert the "Washington" item and assure that it is
// inserted after the "Pennsylvania" item. This override is 
// more appropriate for conveniently inserting items with 
// images.

HTREEITEM hWA = m_TreeCtrl.InsertItem(_T("Washington"),
   0, 0, hCountry, hPA);

// We'll add some cities under each of the states.
// The override used here is most appropriate
// for inserting text-only items.

m_TreeCtrl.InsertItem(_T("Pittsburgh"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Harrisburg"), hPA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Altoona"), hPA, TVI_SORT);

m_TreeCtrl.InsertItem(_T("Seattle"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Kalaloch"), hWA, TVI_SORT);
m_TreeCtrl.InsertItem(_T("Yakima"), hWA, TVI_SORT);

CTreeCtrl::ItemHasChildren

Use esta função para determinar se o item da árvore especificado por hItem tem itens filhos.

BOOL ItemHasChildren(HTREEITEM hItem) const;

Parâmetros

hItem
Pega de um objeto da árvore.

Valor de retorno

Não nulo se o item da árvore especificado por hItem tiver itens filhos; 0 se não tiver.

Observações

Se sim, pode depois usar CTreeCtrl::GetChildItem para recuperar esses itens filhos.

Example

Veja o exemplo para CTreeCtrl::GetSelectedItem.

CTreeCtrl::MapAccIdToItem

Mapeia o identificador de acessibilidade especificado para o handle de um item de vista em árvore no controlo atual da vista em árvore.

HTREEITEM MapAccIdToItem(UINT uAccId) const;

Parâmetros

uAccId
[dentro] Um identificador de acessibilidade para um elemento no item da vista em árvore.

Valor de retorno

O handle de um item em vista de árvore (HTREEITEM) que corresponde ao uAccId parâmetro. Para mais informações, consulte o hItem elemento da TVITEMEX estrutura.

Observações

As ajudas de acessibilidade são aplicações que ajudam pessoas com deficiência a utilizar computadores. Um identificador de acessibilidade é usado pela IAccessible interface para especificar de forma única um elemento numa janela. Para mais informações sobre as IAccessible APIs, consulte Microsoft Active Accessibility.

Este método envia a TVM_MAPACCIDTOHTREEITEM mensagem, que é descrita no SDK do Windows.

Example

O primeiro exemplo de código define uma variável, m_treeCtrl, que é usada para aceder ao controlo atual da vista em árvore. O exemplo de código também define um inteiro sem sinal e várias HTREEITEM variáveis. Estas variáveis são usadas no exemplo seguinte.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

O próximo exemplo de código usa um identificador de acessibilidade e o CTreeCtrl::MapAccIdToItem método para recuperar um handle para o item raiz da tree-view. O exemplo usa o cabo e o CTreeCtrl::GetItemPartRect método para desenhar um retângulo 3D em torno desse item. Numa secção anterior do exemplo do código, que não é mostrada, criámos uma vista em árvore que consiste num nó de país/região raiz para os Estados Unidos, subnós para os estados da Pensilvânia e Washington, e itens em árvore para cidades desses estados. Utilizámos o CTreeCtrl::MapItemToAccID método para associar o item raiz da vista da árvore a um identificador de acessibilidade.

CRect rect;
HTREEITEM hUS = m_treeCtrl.MapAccIdToItem(accIdUS);
m_treeCtrl.GetItemPartRect(hUS, TVGIPR_BUTTON, &rect);
m_treeCtrl.GetDC()->Draw3dRect(&rect, RGB(255, 0, 0), RGB(0, 0, 255));

CTreeCtrl::MapItemToAccID

Mapeia o handle especificado de um item da vista em árvore no controlo atual da vista em árvore para um identificador de acessibilidade.

UINT MapItemToAccID(HTREEITEM hItem) const;

Parâmetros

hItem
[dentro] Um handle de um item em vista de árvore no controlo. Para mais informações, consulte o hItem elemento da TVITEMEX estrutura.

Valor de retorno

O identificador de acessibilidade que corresponde ao parâmetro hItem .

Observações

As ajudas de acessibilidade são aplicações que ajudam pessoas com deficiência a utilizar computadores. Um identificador de acessibilidade é usado pela IAccessible interface para especificar de forma única um elemento numa janela. Para mais informações sobre as IAccessible APIs, consulte Microsoft Active Accessibility.

Este método envia a TVM_MAPHTREEITEMTOACCID mensagem, que é descrita no SDK do Windows.

Example

O primeiro exemplo de código define uma variável, m_treeCtrl, que é usada para aceder ao controlo atual da vista em árvore. O exemplo de código também define um inteiro sem sinal e várias HTREEITEM variáveis. Estas variáveis são usadas no exemplo seguinte.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

O próximo exemplo de código obtém um número de identificação para um item de controlo em vista de árvore. Numa secção anterior do exemplo do código, que não é mostrada, criámos uma vista em árvore que consiste num nó de país/região raiz para os Estados Unidos, subnós para os estados da Pensilvânia e Washington, e itens em árvore para cidades desses estados. Este exemplo de código obtém um número de identificação único para o nó do país/região raiz.

// Map an accessibility identifier to the Pennsylvania node.
accIdUS = m_treeCtrl.MapItemToAccId(hCountry);

CTreeCtrl::Select

Chame esta função para selecionar o item da vista em árvore, deslocar o item para a vista ou redesenhá-lo no estilo usado para indicar o alvo de uma operação de arrastar e largar.

BOOL Select(
    HTREEITEM hItem,
    UINT nCode);

Parâmetros

hItem
Pega de um objeto da árvore.

nCode
O tipo de ação a tomar. Este parâmetro pode ser um dos seguintes valores:

  • TVGN_CARET Define a seleção para o item dado.

  • TVGN_DROPHILITE Redesenha o item dado no estilo usado para indicar o alvo de uma operação de arrastar e largar.

  • TVGN_FIRSTVISIBLE Desloca a vista em árvore verticalmente para que o item dado seja o primeiro elemento visível.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Se nCode contém o valor TVGN_CARET, a janela pai recebe as TVN_SELCHANGING mensagens de notificação e TVN_SELCHANGED . Além disso, se o item especificado for filho de um item pai colapsado, a lista de itens filhos do pai é expandida para revelar o item especificado. Neste caso, a janela principal recebe as TVN_ITEMEXPANDING mensagens de notificação and TVN_ITEMEXPANDED .

Example

Veja o exemplo para CTreeCtrl::HitTest.

CTreeCtrl::SelectDropTarget

Chame esta função para redesenhar o item no estilo usado para indicar o alvo de uma operação de arrastar e largar.

BOOL SelectDropTarget(HTREEITEM hItem);

Parâmetros

hItem
Pega de um objeto da árvore.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Example

// Set the item at the point myPoint as the drop target.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectDropTarget(hItem);
   ASSERT(m_TreeCtrl.GetDropHilightItem() == hItem);
}

CTreeCtrl::SelectItem

Chame esta função para selecionar o item de visualização em árvore dado.

BOOL SelectItem(HTREEITEM hItem);

Parâmetros

hItem
Pega de um objeto da árvore.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Se hItem for NULL, então esta função não seleciona nenhum item.

Example

// Select the item that is at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectItem(hItem);
}

CTreeCtrl::SelectSetFirstVisible

Chame esta função para deslocar a vista em árvore verticalmente, de modo a que o item dado seja o primeiro elemento visível.

BOOL SelectSetFirstVisible(HTREEITEM hItem);

Parâmetros

hItem
O handle do item da árvore deve ser definido como o primeiro item visível.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

A função envia uma mensagem para a janela com os TVM_SELECTITEM parâmetros da mensagem and TVGN_FIRSTVISIBLE .

Example

// Select the item at the point myPoint as the first visible item.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SelectSetFirstVisible(hItem);
}

CTreeCtrl::SetAutoscrollInfo

Define a taxa de autoscroll do controlo atual da vista em árvore.

BOOL SetAutoscrollInfo(
    UINT uPixelsPerSec,
    UINT uUpdateTime);

Parâmetros

uPixelsPerSec
[dentro] O número de píxeis por segundo para deslocar.

uUpdateTime
[dentro] O intervalo de tempo entre as atualizações do controlo.

Valor de retorno

Sempre retorna TRUE.

Observações

Os parâmetros de autoscroll são usados para deslocar até à vista de um item que atualmente não está visível. O controlo da vista em árvore deve ter o TVS_EX_AUTOHSCROLL estilo estendido, descrito em Tree-View Control Extended Styles.

Este método envia a TVM_SETAUTOSCROLLINFO mensagem, que é descrita no SDK do Windows.

Example

O primeiro exemplo de código define uma variável, m_treeCtrl, que é usada para aceder ao controlo atual da vista em árvore. O exemplo de código também define um inteiro sem sinal e várias HTREEITEM variáveis. Estas variáveis são usadas no exemplo seguinte.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

O próximo exemplo de código define o comportamento de autoscroll do controlo atual da vista em árvore. Numa secção anterior do exemplo do código, que não é mostrada, criámos uma vista em árvore que consiste num nó de país/região raiz para os Estados Unidos, subnós para os estados da Pensilvânia e Washington, e itens em árvore para cidades desses estados. Intencionalmente tornámos o controlo da vista em árvore estreito para que tenha de deslocar automaticamente para mostrar o item em árvore que tem o foco. O exemplo de código define o controlo da vista em árvore para deslocar automaticamente 30 pixels por segundo a cada 5 segundos até que o item da árvore esteja à vista.

// Scroll 30 pixels/sec and redraw every 5 seconds.
m_treeCtrl.SetAutoscrollInfo(30, 5);

CTreeCtrl::SetBkColor

Esta função membro implementa o comportamento da mensagem TVM_SETBKCOLORWin32 , conforme descrito no SDK do Windows.

COLORREF SetBkColor(COLORREF clr);

Parâmetros

clr
Um COLORREF valor que contém a nova cor de fundo. Se este valor for -1, o controlo voltará a usar a cor do sistema como cor de fundo.

Valor de retorno

Um valor que representa a cor atual do COLORREF texto. Se este valor for -1, o controlo está a usar a cor do sistema para a cor do texto.

Example

Veja o exemplo para CTreeCtrl::SetTextColor.

CTreeCtrl::SetCheck

Chame esta função membro para definir o estado de verificação de um item de controlo de árvore.

BOOL SetCheck(
    HTREEITEM hItem,
    BOOL fCheck = TRUE);

Parâmetros

hItem
Para HTREEITEM receber o cheque muda de estado.

fCheck
Indica se o item de controlo da árvore deve ser verificado ou desmarcado. Por defeito, SetCheck define o item a verificar.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Quando o item de controlo da árvore é assinalado (fCheck definido para TRUE), o item aparece com um visto adjacente.

Example

UINT uCount = m_TreeCtrl.GetVisibleCount();
HTREEITEM hItem = m_TreeCtrl.GetFirstVisibleItem();

// Toggle the check state of all the visible items.
for (UINT i = 0; i < uCount; i++)
{
   ASSERT(hItem != NULL);
   m_TreeCtrl.SetCheck(hItem, !m_TreeCtrl.GetCheck(hItem));
   hItem = m_TreeCtrl.GetNextVisibleItem(hItem);
}

Para usar as caixas de seleção, defina TVS_CHECKBOXES antes de preencher o controlo da árvore.

m_TreeCtrl.ModifyStyle(0, TVS_CHECKBOXES);

HTREEITEM aItem = m_TreeCtrl.InsertItem(_T("AAA"));
m_TreeCtrl.SetCheck(aItem);

CTreeCtrl::SetExtendedStyle

Define os estilos estendidos para o controlo atual da vista em árvore.

DWORD SetExtendedStyle(
    DWORD dwExMask,
    DWORD dwExStyles);

Parâmetros

dwExMask
[dentro] Uma máscara de bits que especifica quais os estilos no controlo atual da vista em árvore são afetados por este método. Se este parâmetro for zero, é ignorado e o valor do dwExStyles parâmetro é atribuído ao controlo tree-view. Especifique zero ou uma combinação bit a bit (OR) de estilos descritos em Tree-View Control Extended Styles.

dwExStyles
[dentro] Uma máscara de bits que especifica quais estilos no controlo atual da vista de árvore definir ou limpar. Para definir uma combinação de estilos, especifique uma combinação bit a bit (OR) de estilos descrita em Tree-View Control Extended Styles. Para limpar um conjunto de estilos, especifique zero.

Valor de retorno

Um valor que contém os estilos de controlo estendidos anteriores.

Observações

Este método elimina os estilos especificados no dwExMask parâmetro e depois define os estilos especificados no dwExStyles parâmetro. Apenas os estilos estendidos que correspondem aos bits dwExMask em questão mudam.

Este método envia a TVM_SETEXTENDEDSTYLE mensagem, que é descrita no SDK do Windows.

Example

O primeiro exemplo de código define uma variável, m_treeCtrl, que é usada para aceder ao controlo atual da vista em árvore. O exemplo de código também define um inteiro sem sinal e várias HTREEITEM variáveis. Estas variáveis são usadas no exemplo seguinte.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

O próximo exemplo de código adiciona o TVS_EX_AUTOHSCROLL estilo estendido ao controlo atual da vista em árvore. Numa secção anterior do exemplo do código, que não é mostrada, criámos uma vista em árvore que consiste num nó de país/região raiz para os Estados Unidos, subnós para os estados da Pensilvânia e Washington, e itens em árvore para cidades desses estados. Intencionalmente tornámos o controlo da vista em árvore estreito para que tenha de deslocar automaticamente para mostrar o item em árvore que tem o foco.

m_treeCtrl.SetExtendedStyle(TVS_EX_AUTOHSCROLL, TVS_EX_AUTOHSCROLL);

CTreeCtrl::SetImageList

Chama esta função para definir a lista de imagens normais ou de estado para um controlo de vista em árvore e redesenhar o controlo usando as novas imagens.

CImageList* SetImageList(
    CImageList* pImageList,
    int nImageListType);

Parâmetros

pImageList
Apontar para a lista de imagens para atribuir. Se pImageList for NULL, todas as imagens são removidas do controlo de vista em árvore.

nImageListType
Tipo de lista de imagens a definir. A lista de imagens pode ter um dos seguintes valores:

  • TVSIL_NORMAL Define a lista de imagens normais, que contém as imagens selecionadas e não selecionadas para o item de visualização em árvore. Deve usar este estado para imagens sobrepostas.

  • TVSIL_STATE Define a lista de imagens de estado, que contém as imagens dos itens de vista em árvore que estão num estado definido pelo utilizador.

Valor de retorno

Apontar para a lista de imagens anterior, se houver; caso contrário NULL.

Example

Veja o exemplo para CTreeCtrl::GetImageList.

CTreeCtrl::SetIndent

Chame esta função para definir a largura de indentação de um controlo de vista em árvore e redesenhe o controlo para refletir a nova largura.

void SetIndent(UINT nIndent);

Parâmetros

nIndent
Largura, em pixels, da reentrância. Se nIndent for inferior à largura mínima definida pelo sistema, a nova largura é definida para o mínimo definido pelo sistema.

Example

Veja o exemplo para CTreeCtrl::GetIndent.

CTreeCtrl::SetInsertMark

Esta função membro implementa o comportamento da mensagem TVM_SETINSERTMARKWin32 , conforme descrito no SDK do Windows.

BOOL SetInsertMark(
    HTREEITEM hItem,
    BOOL fAfter = TRUE);

Parâmetros

hItem
HTREEITEM que especifica em que item a marca de inserção será colocada. Se este argumento for NULO, a marca de inserção é removida.

fAfter
Valor BOOL que especifica se a marca de inserção é colocada antes ou depois do item especificado. Se este argumento for diferente de zero, a marca de inserção será colocada após o item. Se este argumento for zero, a marca de inserção será colocada antes do item.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Example

// Set the insert mark to be before the item at the point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetInsertMark(hItem, FALSE);
}

CTreeCtrl::SetInsertMarkColor

Esta função membro implementa o comportamento da mensagem TVM_SETINSERTMARKCOLORWin32 , conforme descrito no SDK do Windows.

COLORREF SetInsertMarkColor(COLORREF clrNew);

Parâmetros

clrNew
Um valor que contém a nova cor da COLORREF marca de inserção.

Valor de retorno

Um COLORREF valor que contém a cor da marca de inserção anterior.

Example

Veja o exemplo para CTreeCtrl::GetInsertMarkColor.

CTreeCtrl::SetItem

Chame esta função para definir os atributos do item especificado na vista da árvore.

BOOL SetItem(TVITEM* pItem);

BOOL SetItem(
    HTREEITEM hItem,
    UINT nMask,
    LPCTSTR lpszItem,
    int nImage,
    int nSelectedImage,
    UINT nState,
    UINT nStateMask,
    LPARAM lParam);

Parâmetros

pItem
Um ponteiro para uma TVITEM estrutura que contém os novos atributos do item, conforme descrito no SDK do Windows.

hItem
Handle do item cujos atributos devem ser definidos. Veja o hItem membro da TVITEM estrutura no SDK do Windows.

nMask
Integer especificando quais atributos definir. Veja o mask elemento da TVITEM estrutura.

lpszItem
Endereço de uma cadeia que contém o texto do item.

nImage
Índice da imagem do item na lista de imagens do controlo da vista em árvore. Veja o iImage elemento da TVITEM estrutura.

nSelectedImage
Índice da imagem selecionada pelo item na lista de imagens do controlo de vista em árvore. Veja o iSelectedImage elemento da TVITEM estrutura.

nState
Especifica valores para os estados do item. Veja o State elemento da TVITEM estrutura.

nStateMask
Especifica quais estados devem ser definidos. Veja o stateMask elemento da TVITEM estrutura.

lParam
Um valor específico de aplicação do tamanho do ponteiro associado ao item.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Na TVITEM estrutura, o hItem membro identifica o item, e o mask membro especifica quais os atributos a definir.

Se o mask membro ou o nMask parâmetro especificar o TVIF_TEXT valor, o pszText elemento ou o lpszItem é o endereço de uma cadeia terminada por nulo e o cchTextMax membro é ignorado. Se mask (ou nMask) especificar o TVIF_STATE valor, o stateMask membro ou o nStateMask parâmetro especifica quais os estados do item a alterar e o state membro ou nState parâmetro contém os valores desses estados.

Example

// Show the item at the point myPoint in bold.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetItem(hItem, TVIF_STATE, NULL, 0, 0, TVIS_BOLD,
                      TVIS_BOLD, 0);
}

CTreeCtrl::SetItemData

Chame esta função para definir o valor específico da aplicação associado ao item especificado.

BOOL SetItemData(
    HTREEITEM hItem,
    DWORD_PTR dwData);

Parâmetros

hItem
Handle do item cujos dados devem ser recuperados.

dwData
Um valor específico de aplicação do tamanho do ponteiro associado ao item especificado por hItem.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Example

CString str;
HTREEITEM hItem;

// Insert 20 items into the tree control making every item's
// data be the handle of the item.
for (int i = 0; i < 20; i++)
{
   str.Format(TEXT("item %d"), i);
   hItem = m_TreeCtrl.InsertItem(str);

   if (hItem != NULL)
   {
      m_TreeCtrl.SetItemData(hItem, (DWORD_PTR)hItem);
   }
}

CTreeCtrl::SetItemExpandedImageIndex

Define o índice da imagem para mostrar quando o item especificado do controlo atual da vista em árvore estiver no estado expandido.

BOOL SetItemExpandedImageIndex(
    HTREEITEM hItem,
    int iExpandedImage);

Parâmetros

hItem
[dentro] Handle para um item de controlo em vista de árvore.

iExpandedImage
[dentro] O índice da imagem a mostrar quando o item especificado está no estado expandido.

Valor de retorno

TRUE se este método for bem-sucedido; caso contrário, FALSE.

Observações

Este método envia a TVM_SETITEM mensagem, que é descrita no SDK do Windows. Este método atribui o iExpandedImage parâmetro ao iExpandedImage membro de uma TVITEMEX estrutura e depois utiliza essa estrutura na mensagem.

Example

O primeiro exemplo de código define uma variável, m_treeCtrl, que é usada para aceder ao controlo atual da vista em árvore. O exemplo de código também define um inteiro sem sinal e várias HTREEITEM variáveis. Estas variáveis são usadas no exemplo seguinte.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

O próximo exemplo de código é um teste trivial para determinar se o CTreeCtrl::GetItemExpandedImageIndex método devolve o valor definido pelo CTreeCtrl::SetItemExpandedImageIndex método. Numa secção anterior do exemplo do código, que não é mostrada, criámos uma vista em árvore que consiste num nó de país/região raiz para os Estados Unidos, subnós para os estados da Pensilvânia e Washington, e itens em árvore para cidades desses estados.

CString str;
CString msg = _T("The set and retrieved item expanded image ")
              _T("indexes are%s equal.");
int nSetItem = 0;
m_treeCtrl.SetItemExpandedImageIndex(hCountry, nSetItem);
int nItem = m_treeCtrl.GetItemExpandedImageIndex(hCountry);
if (nItem == nSetItem)
   str.Format(msg, _T(""));
else
   str.Format(msg, _T(" not"));
AfxMessageBox(str, MB_ICONINFORMATION);

CTreeCtrl::SetItemHeight

Esta função membro implementa o comportamento da mensagem TVM_SETITEMHEIGHTWin32 , conforme descrito no SDK do Windows.

SHORT SetItemHeight(SHORT cyHeight);

Parâmetros

cyHeight
Especifica a nova altura de cada item na vista de árvore, em pixels. Se este argumento for inferior à altura das imagens, então será definido para a altura das imagens. Se este argumento não for par, será arredondado para baixo para o valor par mais próximo. Se este argumento for -1, o controlo voltará a usar a altura padrão do item.

Valor de retorno

A altura anterior dos itens, em pixels.

Example

Veja o exemplo para CTreeCtrl::GetItemHeight.

CTreeCtrl::SetItemImage

Associa imagens a um item.

BOOL SetItemImage(
    HTREEITEM hItem,
    int nImage,
    int nSelectedImage);

Parâmetros

hItem
Handle do item cuja imagem deve ser definida.

nImage
Índice da imagem do item na lista de imagens do controlo da vista em árvore.

nSelectedImage
Índice da imagem selecionada pelo item na lista de imagens do controlo de vista em árvore.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Cada item num controlo de vista em árvore pode ter um par de imagens bitmap associadas. As imagens aparecem no lado esquerdo da etiqueta de um artigo. Uma imagem é exibida quando o item é selecionado e a outra é exibida quando o item não está selecionado. Por exemplo, um item pode mostrar uma pasta aberta quando está selecionado e uma pasta fechada quando não está selecionado.

Chame esta função para definir o índice da imagem do item e da sua imagem selecionada dentro da lista de imagens do controlo da vista em árvore.

Para mais informações sobre imagens, veja CImageList.

Example

Veja o exemplo para CTreeCtrl::GetItemImage.

CTreeCtrl::SetItemState

Define o estado do item especificado por hItem.

BOOL SetItemState(
    HTREEITEM hItem,
    UINT nState,
    UINT nStateMask);

Parâmetros

hItem
Handle do item cujo estado deve ser definido.

nState
Especifica novos estados para o item.

nStateMask
Especifica quais os estados que devem ser alterados.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

Para informações sobre estados, veja CTreeCtrl::GetItem.

Example

Veja o exemplo para CTreeCtrl::GetItemState.

CTreeCtrl::SetItemStateEx

Define o estado estendido do item especificado no controlo atual da vista em árvore.

BOOL SetItemStateEx(
    HTREEITEM hItem,
    UINT uStateEx);

Parâmetros

hItem
[dentro] Handle para um item de controlo em vista de árvore.

uStateEx
[dentro] O estado prolongado do item. Para mais informações, consulte o uStateEx elemento da TVITEMEX estrutura.

Valor de retorno

TRUE se este método for bem-sucedido; caso contrário, FALSE.

Observações

Este método envia a TVM_SETITEM mensagem, que é descrita no SDK do Windows. Este método atribui o uStateEx parâmetro ao uStateEx membro de uma TVITEMEX estrutura e depois utiliza essa estrutura na mensagem.

Example

O primeiro exemplo de código define uma variável, m_treeCtrl, que é usada para aceder ao controlo atual da vista em árvore. O exemplo de código também define um inteiro sem sinal e várias HTREEITEM variáveis. Estas variáveis são usadas no exemplo seguinte.

public:
// Variable to access tree control.
CTreeCtrl m_treeCtrl;
// Variable to access splitbutton control.
CSplitButton m_splitbutton;
// Accessibility identifier
UINT accIdUS;
// HTREEITEMs
HTREEITEM hCountry;
HTREEITEM hPA;
HTREEITEM hWA;

O próximo exemplo de código define um item da vista em árvore para o estado desativado. Numa secção anterior do exemplo do código, que não é mostrada, criámos uma vista em árvore que consiste num nó de país/região raiz para os Estados Unidos, subnós para os estados da Pensilvânia e Washington, e itens em árvore para cidades desses estados. Este exemplo de código coloca o nó da Pensilvânia em estado desativado.

// Disable the Pennsylvania node.
m_treeCtrl.SetItemStateEx(hPA, TVIS_EX_DISABLED);

CTreeCtrl::SetItemText

Define o texto do item especificado por hItem.

BOOL SetItemText(
    HTREEITEM hItem,
    LPCTSTR lpszItem);

Parâmetros

hItem
Handle do item cujo texto deve ser definido.

lpszItem
Endereço de uma cadeia contendo o novo texto do item

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Example

// Clear the text of the item at point myPoint.
UINT uFlags;
HTREEITEM hItem = m_TreeCtrl.HitTest(myPoint, &uFlags);

if ((hItem != NULL) && (TVHT_ONITEM & uFlags))
{
   m_TreeCtrl.SetItemText(hItem, NULL);
}

CTreeCtrl::SetLineColor

Chame esta função membro para definir a cor da linha atual para o controlo da vista em árvore.

COLORREF SetLineColor(COLORREF clrNew = CLR_DEFAULT);

Parâmetros

clrNew
A nova cor da linha.

Valor de retorno

A cor da linha anterior.

Observações

Esta função membro implementa o comportamento da mensagem TVM_SETLINECOLORWin32 , conforme descrito no SDK do Windows.

Example

COLORREF clrPrev = m_TreeCtrl.SetLineColor(RGB(255, 0, 0));

CTreeCtrl::SetScrollTime

Chame esta função membro para definir o tempo máximo de scroll para o controlo da vista em árvore.

UINT SetScrollTime(UINT uScrollTime);

Parâmetros

uScrollTime
O novo tempo máximo de scroll, em milissegundos. Se este valor for inferior a 100, será arredondado para 100.

Valor de retorno

O tempo máximo de scroll anterior, em milissegundos.

Observações

Esta função membro implementa o comportamento da mensagem TVM_SETSCROLLTIMEWin32 , conforme descrito no SDK do Windows.

CTreeCtrl::SetTextColor

Esta função membro implementa o comportamento da mensagem TVM_SETTEXTCOLORWin32 , conforme descrito no SDK do Windows.

COLORREF SetTextColor(COLORREF clr);

Parâmetros

clr
Um COLORREF valor que contém a nova cor do texto. Se este argumento for -1, o controlo reverterá para usar a cor do sistema para a cor do texto.

Valor de retorno

Um COLORREF valor que representa a cor do texto anterior. Se este valor for -1, o controlo estava a usar a cor do sistema para a cor do texto.

Example

// change text color to white and background to dark blue
m_TreeCtrl.SetTextColor(RGB(255, 255, 255));
ASSERT(m_TreeCtrl.GetTextColor() == RGB(255, 255, 255));
m_TreeCtrl.SetBkColor(RGB(0, 0, 128));
ASSERT(m_TreeCtrl.GetBkColor() == RGB(0, 0, 128));

// force repaint immediately
m_TreeCtrl.Invalidate();

CTreeCtrl::SetToolTips

Esta função membro implementa o comportamento da mensagem TVM_SETTOOLTIPSWin32 , conforme descrito no SDK do Windows.

CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);

Parâmetros

pWndTip
Um apontador para um CToolTipCtrl objeto que o controlo da árvore irá usar.

Valor de retorno

Um apontador para um CToolTipCtrl objeto que contém a dica de ferramenta anteriormente usada pelo controlo, ou NULL se não foram usadas descrições anteriormente.

Observações

Para usar dicas de ferramenta, indique o TVS_NOTOOLTIPS estilo quando cria o CTreeCtrl objeto.

Example

Veja o exemplo para CTreeCtrl::GetToolTips.

CTreeCtrl::ShowInfoTip

Apresenta a infotip do item especificado no controlo atual da vista em árvore.

void ShowInfoTip(HTREEITEM hItem);

Parâmetros

hItem
[dentro] Um handle para um item em vista de árvore no controlo. Para mais informações, consulte o hItem elemento da TVITEMEX estrutura.

Observações

Para mais informações sobre a diferença entre tooltips e infotips, consulte Tooltips e Infotips.

Este método envia a TVM_SHOWINFOTIP mensagem, que é descrita no SDK do Windows.

CTreeCtrl::SortChildren

Chame esta função para ordenar alfabeticamente os itens filhos do item pai dado num controlo de vista em árvore.

BOOL SortChildren(HTREEITEM hItem);

Parâmetros

hItem
Handle do item pai cujos itens filhos devem ser organizados. Se hItem for NULL, a ordenação procederá a partir da raiz da árvore.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

SortChildren não recursa através da árvore; apenas os filhos imediatos de hItem serão selecionados.

Example

// Sort all of the items in the tree control.
m_TreeCtrl.SortChildren(TVI_ROOT);

CTreeCtrl::SortChildrenCB

Chame esta função para ordenar os itens da vista da árvore usando uma função de callback definida pela aplicação que compara os itens.

BOOL SortChildrenCB(LPTVSORTCB pSort);

Parâmetros

pSort
Ponteiro para uma TVSORTCB estrutura.

Valor de retorno

Não nulo se for bem-sucedido; caso contrário, 0.

Observações

A função de comparação da estrutura, lpfnCompare, deve devolver um valor negativo se o primeiro item for anterior ao segundo, um valor positivo se o primeiro item for após o segundo, ou zero se os dois itens forem equivalentes.

Os lParam1 parâmetros e lParam2 correspondem ao lParam elemento da TVITEM estrutura para os dois itens a comparar. O lParamSort parâmetro corresponde ao lParam membro da TV_SORTCB estrutura.

Example

// Sort the item in reverse alphabetical order.
int CALLBACK MyCompareProc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
{
   // lParamSort contains a pointer to the tree control.
   // The lParam of an item is just its handle, 
   // as specified with SetItemData
   CTreeCtrl* pmyTreeCtrl = (CTreeCtrl*)lParamSort;
   CString strItem1 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam1);
   CString strItem2 = pmyTreeCtrl->GetItemText((HTREEITEM)lParam2);

   return strItem2.Compare(strItem1);
}

 

TVSORTCB tvs;

// Sort the tree control's items using my
// callback procedure.
tvs.hParent = TVI_ROOT;
tvs.lpfnCompare = MyCompareProc;
tvs.lParam = (LPARAM)&m_TreeCtrl;

m_TreeCtrl.SortChildrenCB(&tvs);

Consulte também

Exemplo MFC CMNCTRL1
CWnd Classe
Gráfico de Hierarquia
CImageList Classe