Classe CTreeCtrl
Fornece a funcionalidade do controle de exibição de árvore comum do Windows.
Sintaxe
class CTreeCtrl : public CWnd
Membros
Construtores públicos
Nome | Descrição |
---|---|
CTreeCtrl::CTreeCtrl |
Constrói um objeto CTreeCtrl . |
Métodos públicos
Nome | Descrição |
---|---|
CTreeCtrl::Create |
Cria um controle de exibição de árvore e o anexa a um objeto CTreeCtrl . |
CTreeCtrl::CreateDragImage |
Cria um bitmap de arrastar para o item de exibição de árvore especificado. |
CTreeCtrl::CreateEx |
Cria um controle de árvore com os estilos estendidos especificados do Windows e o anexa a um objeto CTreeCtrl . |
CTreeCtrl::DeleteAllItems |
Exclui todos os itens em um controle de exibição de árvore. |
CTreeCtrl::DeleteItem |
Exclui um novo item em um controle de exibição de árvore. |
CTreeCtrl::EditLabel |
Edita um item de exibição de árvore especificado no local. |
CTreeCtrl::EndEditLabelNow |
Cancela a operação de edição no rótulo de um item de exibição de árvore no controle de exibição de árvore atual. |
CTreeCtrl::EnsureVisible |
Garante que um item de exibição de árvore esteja visível em seu controle de exibição de árvore. |
CTreeCtrl::Expand |
Expande ou recolhe os itens filho do item de exibição de árvore especificado. |
CTreeCtrl::GetBkColor |
Recupera a cor da tela de fundo atual do controle. |
CTreeCtrl::GetCheck |
Recupera o estado de verificação de um item de controle de árvore. |
CTreeCtrl::GetChildItem |
Recupera o filho de um item de exibição de árvore especificado. |
CTreeCtrl::GetCount |
Recupera o número de itens de árvore associados a um controle de exibição de árvore. |
CTreeCtrl::GetDropHilightItem |
Recupera o destino de uma operação de arrastar e soltar. |
CTreeCtrl::GetEditControl |
Recupera o identificador do controle de edição usado para editar o item de exibição de árvore especificado. |
CTreeCtrl::GetExtendedStyle |
Recupera os estilos estendidos que o controle de exibição de árvore atual está usando. |
CTreeCtrl::GetFirstVisibleItem |
Recupera o primeiro item visível do item de exibição de árvore especificado. |
CTreeCtrl::GetImageList |
Recupera o identificador da lista de imagens associado a um controle de exibição de árvore. |
CTreeCtrl::GetIndent |
Recupera o deslocamento (em pixels) de um item de exibição de árvore a partir do item pai. |
CTreeCtrl::GetInsertMarkColor |
Recupera a cor usada para desenhar a marca de inserção para o modo de exibição de árvore. |
CTreeCtrl::GetItem |
Recupera os atributos de um item de exibição de árvore especificado. |
CTreeCtrl::GetItemData |
Retorna o valor específico do aplicativo associado a um item. |
CTreeCtrl::GetItemExpandedImageIndex |
Recupera o índice da imagem a ser exibido quando o item especificado do controle de exibição de árvore atual estiver no estado expandido. |
CTreeCtrl::GetItemHeight |
Recupera a altura atual dos itens de exibição de árvore. |
CTreeCtrl::GetItemImage |
Recupera as imagens associadas a um item. |
CTreeCtrl::GetItemPartRect |
Recupera o retângulo delimitador para uma parte especificada de um item especificado no controle de exibição de árvore atual. |
CTreeCtrl::GetItemRect |
Recupera o retângulo delimitador de um item de exibição de árvore. |
CTreeCtrl::GetItemState |
Retorna o estado de um item. |
CTreeCtrl::GetItemStateEx |
Recupera o estado estendido do item especificado no controle de exibição de árvore atual. |
CTreeCtrl::GetItemText |
Retorna o texto de um item. |
CTreeCtrl::GetLastVisibleItem |
Recupera o último item expandido no controle de exibição de árvore atual. |
CTreeCtrl::GetLineColor |
Recupera a cor da linha atual para o controle de exibição de árvore. |
CTreeCtrl::GetNextItem |
Recupera o próximo item de exibição de árvore que corresponde a uma relação especificada. |
CTreeCtrl::GetNextSiblingItem |
Recupera o próximo irmão do item de exibição de árvore especificado. |
CTreeCtrl::GetNextVisibleItem |
Recupera o próximo item visível do item de exibição de árvore especificado. |
CTreeCtrl::GetParentItem |
Recupera o pai do item de exibição de árvore especificado. |
CTreeCtrl::GetPrevSiblingItem |
Recupera o irmão anterior do item de exibição de árvore especificado. |
CTreeCtrl::GetPrevVisibleItem |
Recupera o item visível anterior do item de exibição de árvore especificado. |
CTreeCtrl::GetRootItem |
Recupera a raiz do item de exibição de árvore especificado. |
CTreeCtrl::GetScrollTime |
Recupera o tempo máximo de rolagem para o controle de exibição de árvore. |
CTreeCtrl::GetSelectedCount |
Recupera o número de itens selecionados no controle de exibição de árvore atual. |
CTreeCtrl::GetSelectedItem |
Recupera o item de exibição de árvore selecionado no momento. |
CTreeCtrl::GetTextColor |
Recupera a cor do texto atual do controle. |
CTreeCtrl::GetToolTips |
Recupera o identificador para o controle filho ToolTip usado por um controle de exibição de árvore. |
CTreeCtrl::GetVisibleCount |
Recupera o número de itens de árvore visíveis associados a um controle de exibição de árvore. |
CTreeCtrl::HitTest |
Retorna a posição atual do cursor relacionada ao objeto CTreeCtrl . |
CTreeCtrl::InsertItem |
Insere um novo item em um controle de exibição de árvore. |
CTreeCtrl::ItemHasChildren |
Retorna não zero se o item especificado tiver itens filho. |
CTreeCtrl::MapAccIdToItem |
Mapeia o identificador de acessibilidade especificado para o identificador para um item de exibição de árvore no controle de exibição de árvore atual. |
CTreeCtrl::MapItemToAccID |
Mapeia o identificador especificado para um item de exibição de árvore no controle de exibição de árvore atual para um identificador de acessibilidade. |
CTreeCtrl::Select |
Seleciona, rola para a exibição ou redesenha um item de exibição de árvore especificado. |
CTreeCtrl::SelectDropTarget |
Redesenhe o item de árvore como destino de uma operação de arrastar e soltar. |
CTreeCtrl::SelectItem |
Seleciona um item de exibição de árvore especificado. |
CTreeCtrl::SelectSetFirstVisible |
Seleciona um item de exibição de árvore especificado como o primeiro item visível. |
CTreeCtrl::SetAutoscrollInfo |
Define a taxa de registro automático do controle de exibição de árvore atual. |
CTreeCtrl::SetBkColor |
Define a cor da tela de fundo do controle. |
CTreeCtrl::SetCheck |
Define o estado de verificação de um item de controle de árvore. |
CTreeCtrl::SetExtendedStyle |
Define os estilos estendidos para o controle de exibição de árvore atual. |
CTreeCtrl::SetImageList |
Define o identificador da lista de imagens associado a um controle de exibição de árvore. |
CTreeCtrl::SetIndent |
Define o deslocamento (em pixels) de um item de exibição de árvore de seu pai. |
CTreeCtrl::SetInsertMark |
Define a marca de inserção em um controle de exibição de árvore. |
CTreeCtrl::SetInsertMarkColor |
Define a cor usada para desenhar a marca de inserção para o modo de exibição de árvore. |
CTreeCtrl::SetItem |
Define os atributos de um item de exibição de árvore especificado. |
CTreeCtrl::SetItemData |
Define o valor específico do aplicativo associado a um item. |
CTreeCtrl::SetItemExpandedImageIndex |
Define o índice da imagem a ser exibido quando o item especificado do controle de exibição de árvore atual estiver no estado expandido. |
CTreeCtrl::SetItemHeight |
Define a altura dos itens de exibição de á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 controle de exibição de árvore atual. |
CTreeCtrl::SetItemText |
Define o texto de um item. |
CTreeCtrl::SetLineColor |
Define a cor da linha atual para o controle de exibição de árvore. |
CTreeCtrl::SetScrollTime |
Define o tempo máximo de rolagem para o controle de exibição de árvore. |
CTreeCtrl::SetTextColor |
Define a cor do texto do controle. |
CTreeCtrl::SetToolTips |
Define o controle filho ToolTip de um controle de exibição de árvore. |
CTreeCtrl::ShowInfoTip |
Exibe a dica de informações do item especificado no controle de exibição de árvore atual. |
CTreeCtrl::SortChildren |
Classifica os filhos de um determinado item pai. |
CTreeCtrl::SortChildrenCB |
Classifica os filhos de um determinado item pai usando uma função de classificação definida pelo aplicativo. |
Comentários
Um "controle de exibição de árvore" é uma janela que exibe uma lista hierárquica de itens, como os títulos em um documento, as entradas em um índice ou os arquivos e diretórios em um disco. Cada item consiste em um rótulo e uma imagem em bitmap opcional, e cada item pode ter uma lista de subitens associados a ele. Ao clicar em um item, o usuário pode expandir e recolher a lista associada de subitems.
Esse controle (e, portanto, a classe CTreeCtrl
) está disponível somente para programas em execução no Windows 98 e no Windows NT versão 4 e posteriores.
Para obter mais informações sobre como usar CTreeCtrl
, confira:
Referência de controle de exibição de árvore no SDK do Windows.
Hierarquia de herança
CTreeCtrl
Requisitos
Cabeçalho: afxcmn.h
CTreeCtrl::Create
Se você especificar o controle de árvore em um modelo de caixa de diálogo ou se estiver usando CTreeView
, o controle de árvore será criado automaticamente quando a caixa de diálogo ou exibição for criada.
virtual BOOL Create(
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwStyle
Especifica o estilo do controle de exibição de árvore. Aplique estilos de janela, descritos em CreateWindow
e qualquer combinação de estilos de controle de exibição de árvore, conforme descrito no SDK do Windows.
rect
Especifica o tamanho e a posição do controle de exibição de árvore. Pode ser um objeto CRect
ou uma estrutura RECT
.
pParentWnd
Especifica a janela pai do controle de exibição de árvore, geralmente um CDialog
. Não deve ser NULL
.
nID
Especifica a ID do controle de exibição de árvore.
Valor de retorno
Um valor diferente de zero, se a inicialização tiver êxito. Caso contrário, 0.
Comentários
Se você quiser criar o controle de árvore como uma janela filho de alguma outra janela, use a função membro Create
. Se você criar o controle de árvore usando Create
, deverá passá-lo WS_VISIBLE
, além de outros estilos de exibição de árvore.
O CTreeCtrl
é construído em duas etapas. Primeiro chame o construtor e, em seguida, chame Create
, que cria o controle de exibição de árvore e o anexa ao objeto CTreeCtrl
.
Para criar um controle de árvore com estilos de janela estendidos, chame CreateEx
em vez de Create
.
Exemplo
// 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
Chame essa função para criar um controle (uma janela filho) e associá-lo ao objeto CTreeCtrl
.
virtual BOOL CreateEx(
DWORD dwExStyle,
DWORD dwStyle,
const RECT& rect,
CWnd* pParentWnd,
UINT nID);
Parâmetros
dwExStyle
Especifica o estilo estendido do controle que está sendo criado. Para obter uma lista de estilos estendidos do Windows, consulte o parâmetro dwExStyle
para CreateWindowEx
no SDK do Windows.
dwStyle
Especifica o estilo do controle de exibição de árvore. Aplique estilos de janela, descritos em CreateWindow
e qualquer combinação de estilos de controle de exibição de árvore, conforme descrito no SDK do Windows.
rect
Uma referência a uma estrutura RECT
que descreve o tamanho e a posição da janela a ser criada, nas coordenadas de cliente de pParentWnd
.
pParentWnd
Um ponteiro para a janela que é pai do controle.
nID
A ID da janela filho do controle.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Use CreateEx
, em vez de Create
, para aplicar estilos estendidos do Windows, especificados pelo prefácio WS_EX_
de estilos estendidos do Windows.
CTreeCtrl::CreateDragImage
Chame essa função para criar um bitmap de arrastar para o item especificado em um controle de exibição de árvore, criar uma lista de imagens para o bitmap e adicionar o bitmap à lista de imagens.
CImageList* CreateDragImage(HTREEITEM hItem);
Parâmetros
hItem
Identificador do item de árvore a ser arrastado.
Valor de retorno
Ponteiro para a lista de imagens à qual o bitmap de arrastar foi adicionado, se bem-sucedido; caso contrário NULL
.
Comentários
Um aplicativo usa as funções de lista de imagens para exibir a imagem quando o item está sendo arrastado.
O objeto CImageList
é permanente e você deve excluí-lo quando terminar. 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 objeto CTreeCtrl
.
CTreeCtrl();
CTreeCtrl::DeleteAllItems
Chame essa função para excluir todos os itens do controle de exibição de árvore.
BOOL DeleteAllItems();
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Exemplo
// The underlying Windows API always returns TRUE
VERIFY(m_TreeCtrl.DeleteAllItems());
CTreeCtrl::DeleteItem
Chame essa função para excluir um item do controle de exibição de árvore.
BOOL DeleteItem(HTREEITEM hItem);
Parâmetros
hItem
Identificador do item de árvore a ser excluído. Se hitem
tiver o valor TVI_ROOT
, todos os itens serão excluídos do controle de exibição de árvore.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Exemplo
// 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 essa função para iniciar a edição in-loco do texto do item especificado.
CEdit* EditLabel(HTREEITEM hItem);
Parâmetros
hItem
Identificador do item de árvore a ser editado.
Valor de retorno
Se tiver êxito, um ponteiro para o objeto CEdit
usado para editar o texto do item; caso contrário, NULL
.
Comentários
A edição é realizada substituindo o texto do item por um controle de edição de linha única que contém o texto.
Exemplo
// 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 de exibição de árvore no controle de exibição de árvore atual.
BOOL EndEditLabelNow(BOOL fCancelWithoutSave);
Parâmetros
fCancelWithoutSave
[in] TRUE
para descartar alterações no item de exibição de árvore antes de concluir a operação de edição ou FALSE
para salvar alterações no item de exibição de árvore antes de concluir a operação.
Valor de retorno
TRUE
se o método for bem-sucedido. Caso contrário, FALSE
.
Comentários
Esse método envia a mensagem TVM_ENDEDITLABELNOW
, que é descrita no SDK do Windows.
CTreeCtrl::EnsureVisible
Chame essa função para garantir que um item de exibição de árvore esteja visível.
BOOL EnsureVisible(HTREEITEM hItem);
Parâmetros
hItem
Identificador do item de árvore que está sendo tornado visível.
Valor de retorno
Retorna TRUE
se o sistema tiver rolado os itens no controle de exibição de árvore para garantir que o item especificado esteja visível. Caso contrário, o valor retornado será FALSE
.
Comentários
Se necessário, a função expande o item pai ou rola o controle de exibição de árvore para que o item fique visível.
Exemplo
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 essa função para expandir ou recolher a lista de itens filho, se houver, associados ao item pai especificado.
BOOL Expand(
HTREEITEM hItem,
UINT nCode);
Parâmetros
hItem
Identificador do item de árvore que está sendo expandido.
nCode
Um sinalizador que indica o tipo de ação a ser executada. Esse sinalizador pode ter um dos seguintes valores:
TVE_COLLAPSE
Recolhe a lista.TVE_COLLAPSERESET
Recolhe a lista e remove os itens filho. O sinalizador de estadoTVIS_EXPANDEDONCE
é redefinido. Esse sinalizador deve ser usado com o sinalizadorTVE_COLLAPSE
.TVE_EXPAND
Expande a lista.TVE_TOGGLE
Recolherá a lista se ela for expandida ou expandi-la no momento se ela for recolhida no momento.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Exemplo
Confira o exemplo de CTreeCtrl::EnsureVisible
.
CTreeCtrl::GetBkColor
Essa função membro implementa o comportamento da mensagem TVM_GETBKCOLOR
do Win32, conforme descrito no SDK do Windows.
COLORREF GetBkColor() const;
Valor de retorno
Um valor COLORREF
que representa a cor da tela de fundo da janela atual para o controle. Se esse valor for -1, o controle usará a cor da janela do sistema. Nesse caso, você pode usar ::GetSysColor(COLOR_WINDOW)
para obter a cor atual do sistema que o controle está usando.
Exemplo
Confira o exemplo de CTreeCtrl::SetTextColor
.
CTreeCtrl::GetCheck
Chame essa função de membro para recuperar o estado de verificação de um item.
BOOL GetCheck(HTREEITEM hItem) const;
Parâmetros
hItem
Sobre HTREEITEM
, que recebe as informações de estado.
Valor de retorno
Não zero se o item de controle de árvore estiver marcado; caso contrário, 0.
Exemplo
Confira o exemplo de CTreeCtrl::SetCheck
.
CTreeCtrl::GetChildItem
Chame essa função para recuperar o item de exibição de árvore que é o filho do item especificado por hItem
.
HTREEITEM GetChildItem(HTREEITEM hItem) const;
Parâmetros
hItem
Identificador de um item de árvore.
Valor de retorno
O identificador do item filho, se tiver êxito; caso contrário NULL
.
Exemplo
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 essa função para recuperar uma contagem dos itens em um controle de exibição de árvore.
UINT GetCount() const;
Valor de retorno
O número de itens no controle de exibição de árvore.
Exemplo
// Delete all of the items from the tree control.
m_TreeCtrl.DeleteAllItems();
ASSERT(m_TreeCtrl.GetCount() == 0);
CTreeCtrl::GetDropHilightItem
Chame essa função para recuperar o item que é o destino de uma operação de arrastar e soltar.
HTREEITEM GetDropHilightItem() const;
Valor de retorno
O identificador do item removido se tiver êxito; caso contrário NULL
.
Exemplo
// 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 essa função para recuperar o identificador do controle de edição que está sendo usado para editar o texto de um item de exibição de árvore.
CEdit* GetEditControl() const;
Valor de retorno
Um ponteiro para o controle de edição usado para editar o texto do item, se bem-sucedido; caso contrário NULL
.
Exemplo
// 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 controle de exibição de árvore atual está usando.
DWORD GetExtendedStyle() const;
Valor de retorno
Um valor que contém uma combinação bit a bit (OR) dos estilos estendidos do controle de exibição de árvore atual. Para obter mais informações, consulte Estilos Estendidos de Controle de Exibição de Árvore.
Comentários
Esse método envia a mensagem TVM_GETEXTENDEDSTYLE
, que é descrita no SDK do Windows.
CTreeCtrl::GetFirstVisibleItem
Chame essa função para recuperar o primeiro item visível do controle de exibição de árvore.
HTREEITEM GetFirstVisibleItem() const;
Valor de retorno
O identificador do primeiro item visível; caso contrário NULL
.
Exemplo
Confira o exemplo de CTreeCtrl::SetCheck
.
CTreeCtrl::GetImageList
Chame essa função para recuperar o identificador da lista de imagens normal ou de estado associada ao controle de exibição de árvore.
CImageList* GetImageList(UINT nImageList) const;
Parâmetros
nImageList
Tipo de lista de imagens a recuperar. A lista de imagens pode ter um dos seguintes valores:
TVSIL_NORMAL
Recupera a lista de imagens normal, que contém as imagens selecionadas e não selecionadas para o item de exibição de árvore.TVSIL_STATE
Recupera a lista de imagens de estado, que contém as imagens para itens de exibição de árvore que estão em um estado definido pelo usuário.
Valor de retorno
Ponteiro para a lista de imagens do controle se tiver êxito; caso contrário NULL
.
Comentários
Cada item em um controle de exibição de árvore pode ter um par de imagens bitmapped associadas a ele. Uma imagem é exibida quando o item é selecionado e a outra é exibida quando o item não está selecionado. Por exemplo, um item pode exibir uma pasta aberta quando estiver selecionada e uma pasta fechada quando não estiver selecionada.
Para obter mais informações sobre listas de imagens, consulte a classe CImageList
.
Exemplo
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 essa função para recuperar a quantidade, em pixels, de que os itens filho são recuados em relação aos itens pai.
UINT GetIndent() const;
Valor de retorno
A quantidade de recuo medida em pixels.
Exemplo
// Double the indent.
UINT uIndent = m_TreeCtrl.GetIndent();
m_TreeCtrl.SetIndent(2 * uIndent);
CTreeCtrl::GetInsertMarkColor
Essa função membro implementa o comportamento da mensagem TVM_GETINSERTMARKCOLOR
do Win32, conforme descrito no SDK do Windows.
COLORREF GetInsertMarkColor() const;
Valor de retorno
Um valor COLORREF
que contém a cor da marca de inserção atual.
Exemplo
// 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 essa função para recuperar os atributos do item de exibição de árvore especificado.
BOOL GetItem(TVITEM* pItem) const;
Parâmetros
pItem
Um ponteiro para uma estrutura TVITEM
, conforme descrito no SDK do Windows.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Exemplo
Confira o exemplo de CTreeCtrl::DeleteItem
.
CTreeCtrl::GetItemData
Chame essa função para recuperar o valor específico do aplicativo associado ao item especificado.
DWORD_PTR GetItemData(HTREEITEM hItem) const;
Parâmetros
hItem
Identificador do item de lista cujos dados devem ser recuperados.
Valor de retorno
Um valor específico do aplicativo do tamanho do ponteiro associado ao item especificado por hItem
.
Exemplo
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 a ser exibido quando o item especificado do controle de exibição de árvore atual estiver no estado expandido.
int GetItemExpandedImageIndex(HTREEITEM hItem)const;
Parâmetros
hItem
[in] Manipule para um item de controle de exibição de árvore.
Valor de retorno
O índice da imagem a ser exibido quando o item especificado estiver no estado expandido.
Comentários
Esse método envia a mensagem TVM_GETITEM
, que é descrita no SDK do Windows. Essa mensagem retorna a estrutura TVITEMEX
que descreve o item de controle de exibição de árvore e, em seguida, esse método recupera o membro iExpandedImage
dessa estrutura.
CTreeCtrl::GetItemHeight
Essa função membro implementa o comportamento da mensagem TVM_GETITEMHEIGHT
do Win32, conforme descrito no SDK do Windows.
SHORT GetItemHeight() const;
Valor de retorno
Obtém a altura do item, em pixels.
Exemplo
// Double the height of the items.
SHORT sHeight = m_TreeCtrl.GetItemHeight();
m_TreeCtrl.SetItemHeight(2 * sHeight);
CTreeCtrl::GetItemImage
Cada item em um controle de exibição de árvore pode ter um par de imagens bitmapped associadas a ele.
BOOL GetItemImage(
HTREEITEM hItem,
int& nImage,
int& nSelectedImage) const;
Parâmetros
hItem
O identificador do item cujos dados devem ser recuperados.
nImage
Um inteiro que recebe o índice da imagem do item na lista de imagens do controle de exibição de árvore.
nSelectedImage
Um inteiro que recebe o índice da imagem selecionada do item na lista de imagens do controle de exibição de árvore.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
As imagens aparecem no lado esquerdo do rótulo de um item. Uma imagem é exibida quando o item é selecionado e a outra é exibida quando o item não está selecionado. Por exemplo, um item pode exibir uma pasta aberta quando estiver selecionada e uma pasta fechada quando não estiver selecionada.
Chame essa função para recuperar o índice da imagem do item e sua imagem selecionada na lista de imagens do controle de exibição de árvore.
Exemplo
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 especificada de um item especificado no controle de exibição de árvore atual.
BOOL GetItemPartRect(
HTREEITEM hItem,
int nPart,
LPRECT lpRect)const;
Parâmetros
hItem
[in] Manipule para um item de controle de exibição de árvore.
nPart
[in] Identificador da parte. Deve ser definido como TVGIPR_BUTTON
.
lpRect
[out] Ponteiro para uma estrutura RECT
. Se esse método for bem-sucedido, a estrutura receberá as coordenadas do retângulo da parte especificada por hItem
e nPart
.
Valor de retorno
TRUE
se o método for bem-sucedido. Caso contrário, FALSE
.
Comentários
Cada item de controle de árvore é limitado por um retângulo gráfico. Sempre que um ponto nesse retângulo é clicado, diz-se que o item é atingido. Esse método retorna o maior retângulo de modo que, quando um ponto no retângulo é clicado, o item identificado pelo parâmetro hItem
é atingido.
Esse método envia a mensagem TVM_GETITEMPARTRECT
, que é descrita no SDK do Windows. Para obter mais informações, consulte a macro TreeView_GetItemPartRect
.
Exemplo
O primeiro exemplo de código define uma variável m_treeCtrl
, que é usada para acessar o controle de exibição de árvore atual. O exemplo de código também define um inteiro sem sinal e HTREEITEM
variáveis. Essas variáveis são usadas no próximo exemplo.
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 método CTreeCtrl::MapAccIdToItem
para recuperar um identificador para o item de exibição de árvore raiz. Em seguida, o exemplo usa o identificador e o método CTreeCtrl::GetItemPartRect
para desenhar um retângulo 3D em torno desse item. Em uma seção anterior do exemplo de código, que não é mostrada, criamos uma exibição de árvore que consiste em um nó de país/região raiz para o Estados Unidos, subnós para os estados da Pensilvânia e Washington e itens de árvore para cidades nesses estados. Usamos o método CTreeCtrl::MapItemToAccID
para associar o item de exibição de árvore raiz 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 essa função para recuperar o retângulo delimitador para hItem e determinar se ele está visível ou não.
BOOL GetItemRect(
HTREEITEM hItem,
LPRECT lpRect,
BOOL bTextOnly) const;
Parâmetros
hItem
O identificador de um item de controle de exibição de árvore.
lpRect
Ponteiro de uma estrutura RECT
que recebe o retângulo delimitador. As coordenadas são relativas ao canto superior esquerdo do controle de exibição de árvore.
bTextOnly
Se esse parâmetro não for zero, o retângulo delimitador incluirá apenas o texto do item. Caso contrário, ele inclui a linha inteira que o item ocupa no controle de exibição de árvore.
Valor de retorno
Não zero se o item estiver visível, com o retângulo delimitador contido em lpRect
. Caso contrário, 0 com lpRect
não inicializado.
Exemplo
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
Retorna o estado do item especificado por hItem
.
UINT GetItemState(
HTREEITEM hItem,
UINT nStateMask) const;
Parâmetros
hItem
Identificador do item cujo estado deve ser recuperado.
nStateMask
Máscara indicando um ou mais estados a serem recuperados. Para obter mais informações sobre valores possíveisnStateMask
, consulte a discussão entre os membros e state
os stateMask
membros da estrutura TVITEM
no SDK do Windows.
Valor de retorno
Um UINT
que contém o operador OR bit a bit C++ (|
) dos valores especificados por nStateMask
. Para obter informações sobre valores possíveis, consulte CTreeCtrl::GetItem
. Para localizar o valor de um estado específico, execute um operador AND bit a bit C++ (&
) f o valor de estado e o valor retornado, conforme mostrado no exemplo a seguir.
Exemplo
// 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 controle de exibição de árvore atual.
UINT GetItemStateEx(HTREEITEM hItem) const;
Parâmetros
hItem
[in] Manipule para um item de controle de exibição de árvore.
Valor de retorno
O estado estendido do item. Para obter mais informações, consulte o membro uStateEx
da estrutura TVITEMEX
.
Comentários
Esse método envia a mensagem TVM_GETITEM
, que é descrita no SDK do Windows. Essa mensagem retorna a estrutura TVITEMEX
que descreve o item de controle de exibição de árvore e esse método recupera o membro uStateEx
dessa estrutura.
CTreeCtrl::GetItemText
Retorna o texto do item especificado por hItem
.
CString GetItemText(HTREEITEM hItem) const;
Parâmetros
hItem
Identificador do item cujo texto deve ser recuperado.
Valor de retorno
Um objeto CString
que contém o texto do item.
Exemplo
Confira o exemplo de CTreeCtrl::GetNextItem
.
CTreeCtrl::GetLastVisibleItem
Recupera o último item de nó não verificado no controle de exibição de árvore atual.
HTREEITEM GetLastVisibleItem() const;
Valor de retorno
O identificador para o último item de nó não compilado se o método for bem-sucedido; caso contrário, NULL
.
Comentários
Esse método envia a mensagem TVM_GETNEXTITEM
, que é descrita no SDK do Windows. Para obter mais informações, consulte o sinalizador TVGN_LASTVISIBLE
no parâmetro flag
dessa mensagem.
Exemplo
O primeiro exemplo de código define uma variável m_treeCtrl
, que é usada para acessar o controle de exibição de árvore atual. O exemplo de código também define um inteiro sem sinal e HTREEITEM
variáveis. Uma ou mais dessas variáveis são usadas no próximo exemplo.
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 identificador para o último item de nó de exibição de árvore não verificado e desenha um retângulo 3D em torno desse item. Em uma seção anterior do exemplo de código, que não é mostrada, criamos uma exibição de árvore que consiste em um nó de país/região raiz para o Estados Unidos, subnós para os estados da Pensilvânia e Washington e itens de árvore para cidades nesses 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
Essa função membro implementa o comportamento da mensagem TVM_GETLINECOLOR
do Win32, conforme descrito no SDK do Windows.
COLORREF GetLineColor() const;
Valor de retorno
A cor da linha atual.
Exemplo
COLORREF cr = m_TreeCtrl.GetLineColor();
CTreeCtrl::GetNextItem
Chame essa função para recuperar o item de exibição de árvore que tem a relação especificada, indicada pelo parâmetro nCode
, para hItem
.
HTREEITEM GetNextItem(
HTREEITEM hItem,
UINT nCode) const;
Parâmetros
hItem
Identificador de um item de árvore.
nCode
Um sinalizador que indica o tipo de relação com hItem
. Esse sinalizador pode ser um dos seguintes valores:
TVGN_CARET
Recupera o item selecionado no momento.TVGN_CHILD
Recupera o primeiro item filho do item especificado pelo parâmetrohItem
.TVGN_DROPHILITE
Recupera o item que é o destino de uma operação de arrastar e soltar.TVGN_FIRSTVISIBLE
Recupera o primeiro item visível.TVGN_LASTVISIBLE
Recupera o último item expandido na árvore. Isso não recupera o último item visível na janela de exibição de árvore.TVGN_NEXT
Recupera o próximo item irmão.TVGN_NEXTVISIBLE
Recupera o próximo item visível que segue o 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
O identificador do próximo item, se tiver êxito; caso contrário NULL
.
Comentários
Essa função retornará NULL
se o item que está sendo recuperado for o nó raiz da árvore. Por exemplo, se você usar essa mensagem com o sinalizador TVGN_PARENT
em um filho de primeiro nível do nó raiz do modo de exibição de árvore, a mensagem retornará NULL
.
Exemplo
Para obter um exemplo de uso GetNextItem
em um loop, consulte 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 essa função para recuperar o próximo irmão de hItem
.
HTREEITEM GetNextSiblingItem(HTREEITEM hItem) const;
Parâmetros
hItem
Identificador de um item de árvore.
Valor de retorno
O identificador do próximo item irmão; caso contrário NULL
.
Exemplo
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 essa função para recuperar o próximo item visível de hItem
.
HTREEITEM GetNextVisibleItem(HTREEITEM hItem) const;
Parâmetros
hItem
Identificador de um item de árvore.
Valor de retorno
O identificador do próximo item visível; caso contrário NULL
.
Exemplo
Confira o exemplo de CTreeCtrl::SetCheck
.
CTreeCtrl::GetParentItem
Chame essa função para recuperar o pai de hItem
.
HTREEITEM GetParentItem(HTREEITEM hItem) const;
Parâmetros
hItem
Identificador de um item de árvore.
Valor de retorno
O identificador do item pai; caso contrário NULL
.
Comentários
Essa função retornará NULL
se o pai do item especificado for o nó raiz da árvore.
Exemplo
Confira o exemplo de CTreeCtrl::EnsureVisible
.
CTreeCtrl::GetPrevSiblingItem
Chame essa função para recuperar o irmão anterior de hItem
.
HTREEITEM GetPrevSiblingItem(HTREEITEM hItem) const;
Parâmetros
hItem
Identificador de um item de árvore.
Valor de retorno
O identificador do irmão anterior; caso contrário NULL
.
Exemplo
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 essa função para recuperar o item visível anterior de hItem
.
HTREEITEM GetPrevVisibleItem(HTREEITEM hItem) const;
Parâmetros
hItem
Identificador de um item de árvore.
Valor de retorno
O identificador do item visível anterior; caso contrário NULL
.
Exemplo
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 essa função para recuperar o item raiz do controle de exibição de árvore.
HTREEITEM GetRootItem() const;
Valor de retorno
O identificador do item raiz; caso contrário NULL
.
Exemplo
Confira o exemplo de CTreeCtrl::EditLabel
.
CTreeCtrl::GetScrollTime
Chame essa função de membro para recuperar o tempo máximo de rolagem para o controle de exibição de árvore.
UINT GetScrollTime() const;
Valor de retorno
O tempo máximo de rolagem em milissegundos.
Comentários
Essa função membro implementa o comportamento da mensagem TVM_GETSCROLLTIME
do Win32, conforme descrito no SDK do Windows.
CTreeCtrl::GetSelectedCount
Recupera o número de itens selecionados no controle de exibição de árvore atual.
UINT GetSelectedCount();
Valor de retorno
O número de itens selecionados.
Comentários
Esse método envia a mensagem TVM_GETSELECTEDCOUNT
, que é descrita no SDK do Windows.
CTreeCtrl::GetSelectedItem
Chame essa função para recuperar o item atualmente selecionado do controle de exibição de árvore.
HTREEITEM GetSelectedItem() const;
Valor de retorno
O identificador do item selecionado; caso contrário NULL
.
Exemplo
// 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
Essa função membro implementa o comportamento da mensagem TVM_GETTEXTCOLOR
do Win32, conforme descrito no SDK do Windows.
COLORREF GetTextColor() const;
Valor de retorno
Um valor COLORREF
que representa a cor do texto atual. Se esse valor for -1, o controle usará a cor do sistema para a cor do texto.
Exemplo
Confira o exemplo de CTreeCtrl::SetTextColor
.
CTreeCtrl::GetToolTips
Essa função membro implementa o comportamento da mensagem TVM_GETTOOLTIPS
do Win32, conforme descrito no SDK do Windows.
CToolTipCtrl* GetToolTips() const;
Valor de retorno
Um ponteiro para um objeto CToolTipCtrl
a ser usado pelo controle de árvore. Se a função membro Create
usar o estilo TVS_NOTOOLTIPS
, nenhuma dica de ferramenta será usada e NULL
será retornada.
Comentários
A implementação MFC de GetToolTips
retorna um objeto CToolTipCtrl
, que é usado pelo controle de árvore, em vez de um identificador para um controle de dica de ferramenta.
Exemplo
// 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 essa função para recuperar uma contagem dos itens visíveis em um controle de exibição de árvore.
UINT GetVisibleCount() const;
Valor de retorno
O número de itens visíveis no controle de exibição de árvore; caso contrário, 1.
Exemplo
Confira o exemplo de CTreeCtrl::SetCheck
.
CTreeCtrl::HitTest
Chame essa função para determinar o local do ponto especificado em relação à área do cliente de um controle de exibição de árvore.
HTREEITEM HitTest(
CPoint pt,
UINT* pFlags = NULL) const;
HTREEITEM HitTest(TVHITTESTINFO* pHitTestInfo) const;
Parâmetros
pt
Coordenadas do cliente do ponto a ser testado.
pFlags
Ponteiro para um inteiro que recebe informações sobre os resultados do teste de ocorrência. Pode ser um ou mais dos valores listados no membro flags
na seção Comentários.
pHitTestInfo
Endereço de uma estrutura TVHITTESTINFO
que contém a posição a ser atingida no teste e que recebe informações sobre os resultados do teste de ocorrência.
Valor de retorno
O identificador do item de exibição de árvore que ocupa o ponto especificado ou NULL
se nenhum item ocupa o ponto.
Comentários
Quando essa função é chamada, o parâmetro pt
especifica as coordenadas do ponto a ser testado. A função retorna o identificador do item no ponto especificado ou NULL
se nenhum item ocupa o ponto. Além disso, o parâmetro pFlags
contém um valor que indica o local do ponto especificado. Os valores possíveis são:
Valor | Descrição |
---|---|
TVHT_ABOVE |
Acima da área do cliente. |
TVHT_BELOW |
Abaixo da área do cliente. |
TVHT_NOWHERE |
Na área do cliente, mas abaixo do último item. |
TVHT_ONITEM |
No bitmap ou rótulo associado a um item. |
TVHT_ONITEMBUTTON |
No botão associado a um item. |
TVHT_ONITEMICON |
No bitmap associado a um item. |
TVHT_ONITEMINDENT |
No recuo associado a um item. |
TVHT_ONITEMLABEL |
No rótulo (cadeia de caracteres) associado a um item. |
TVHT_ONITEMRIGHT |
Na área à direita de um item. |
TVHT_ONITEMSTATEICON |
No ícone de estado de um item de exibição de árvore que está em um estado definido pelo usuário. |
TVHT_TOLEFT |
À esquerda da área do cliente. |
TVHT_TORIGHT |
À direita da área do cliente. |
Exemplo
// 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 essa função para inserir um novo item em um controle de exibição de á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 um TVINSERTSTRUCT
que especifica os atributos do item de exibição de árvore a ser inserido.
nMask
Inteiro especificando quais atributos definir. Consulte a estrutura TVITEM
no SDK do Windows.
lpszItem
Endereço de uma cadeia de caracteres que contém o texto do item.
nImage
Índice da imagem do item na lista de imagens do controle de exibição de árvore.
nSelectedImage
Índice da imagem selecionada do item na lista de imagens do controle de exibição de árvore.
nState
Especifica valores para os estados do item. Consulte estados de item de controle de exibição de árvore no SDK do Windows para obter uma lista de estados apropriados.
nStateMask
Especifica quais estados devem ser definidos. Consulte a estrutura TVITEM
no SDK do Windows.
lParam
Um valor específico do aplicativo do tamanho do ponteiro associado ao item.
hParent
Identificador do pai do item inserido.
hInsertAfter
Manipule o item após o qual o novo item deve ser inserido.
Valor de retorno
Identificador do novo item se tiver êxito; caso contrário NULL
.
Comentários
O exemplo mostra situações em que talvez você queira usar cada versão da função ao inserir um item de controle de árvore.
Exemplo
// 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 essa função para determinar se o item de árvore especificado por hItem
tem itens filho.
BOOL ItemHasChildren(HTREEITEM hItem) const;
Parâmetros
hItem
Identificador de um item de árvore.
Valor de retorno
Não zero se o item de árvore especificado por hItem
tem itens filho; 0 se não tiver.
Comentários
Nesse caso, você pode usar CTreeCtrl::GetChildItem
para recuperar esses itens filho.
Exemplo
Confira o exemplo de CTreeCtrl::GetSelectedItem
.
CTreeCtrl::MapAccIdToItem
Mapeia o identificador de acessibilidade especificado para o identificador de um item de exibição de árvore no controle de exibição de árvore atual.
HTREEITEM MapAccIdToItem(UINT uAccId) const;
Parâmetros
uAccId
[in] Um identificador de acessibilidade para um elemento no item de exibição de árvore.
Valor de retorno
O identificador de um item de exibição de árvore (HTREEITEM
) que corresponde ao parâmetro uAccId
. Para obter mais informações, consulte o membro hItem
da estrutura TVITEMEX
.
Comentários
Auxílios de acessibilidade são aplicativos que ajudam pessoas com deficiência a usar computadores. Um identificador de acessibilidade é usado pela interface IAccessible
para especificar exclusivamente um elemento em uma janela. Para obter mais informações sobre as IAccessible
APIs, consulte a Acessibilidade Ativa da Microsoft.
Esse método envia a mensagem TVM_MAPACCIDTOHTREEITEM
, que é descrita no SDK do Windows.
Exemplo
O primeiro exemplo de código define uma variável m_treeCtrl
, que é usada para acessar o controle de exibição de árvore atual. O exemplo de código também define um inteiro sem sinal e HTREEITEM
variáveis. Essas variáveis são usadas no próximo exemplo.
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 método CTreeCtrl::MapAccIdToItem
para recuperar um identificador para o item de exibição de árvore raiz. O exemplo usa o identificador e o método CTreeCtrl::GetItemPartRect
para desenhar um retângulo 3D em torno desse item. Em uma seção anterior do exemplo de código, que não é mostrada, criamos uma exibição de árvore que consiste em um nó de país/região raiz para o Estados Unidos, subnós para os estados da Pensilvânia e Washington e itens de árvore para cidades nesses estados. Usamos o método CTreeCtrl::MapItemToAccID
para associar o item de exibição de árvore raiz 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 identificador especificado de um item de exibição de árvore no controle de exibição de árvore atual para um identificador de acessibilidade.
UINT MapItemToAccID(HTREEITEM hItem) const;
Parâmetros
hItem
[in] Um identificador de um item de exibição de árvore no controle. Para obter mais informações, consulte o membro hItem
da estrutura TVITEMEX
.
Valor de retorno
O identificador de acessibilidade que corresponde ao parâmetro hItem.
Comentários
Auxílios de acessibilidade são aplicativos que ajudam pessoas com deficiência a usar computadores. Um identificador de acessibilidade é usado pela interface IAccessible
para especificar exclusivamente um elemento em uma janela. Para obter mais informações sobre as IAccessible
APIs, consulte a Acessibilidade Ativa da Microsoft.
Esse método envia a mensagem TVM_MAPHTREEITEMTOACCID
, que é descrita no SDK do Windows.
Exemplo
O primeiro exemplo de código define uma variável m_treeCtrl
, que é usada para acessar o controle de exibição de árvore atual. O exemplo de código também define um inteiro sem sinal e HTREEITEM
variáveis. Essas variáveis são usadas no próximo exemplo.
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 controle de exibição de árvore. Em uma seção anterior do exemplo de código, que não é mostrada, criamos uma exibição de árvore que consiste em um nó de país/região raiz para o Estados Unidos, subnós para os estados da Pensilvânia e Washington e itens de árvore para cidades nesses estados. Este exemplo de código obtém um número de identificação exclusivo para o nó de país/região raiz.
// Map an accessibility identifier to the Pennsylvania node.
accIdUS = m_treeCtrl.MapItemToAccId(hCountry);
CTreeCtrl::Select
Chame essa função para selecionar o item de exibição de árvore determinado, rolar o item para a exibição ou redesenhar o item no estilo usado para indicar o destino de uma operação de arrastar e soltar.
BOOL Select(
HTREEITEM hItem,
UINT nCode);
Parâmetros
hItem
Identificador de um item de árvore.
nCode
O tipo de ação a ser realizada. Esse parâmetro pode usar um dos valores a seguir:
TVGN_CARET
Define a seleção como o item especificado.TVGN_DROPHILITE
Redesenha o item especificado no estilo usado para indicar o destino de uma operação de arrastar e soltar.TVGN_FIRSTVISIBLE
Rola a exibição da árvore verticalmente para que o item especificado seja o primeiro item visível.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Se nCode
contiver o valor TVGN_CARET
, a janela pai receberá as mensagens de notificação TVN_SELCHANGING
e TVN_SELCHANGED
. Além disso, se o item especificado for o filho de um item pai recolhido, a lista pai de itens filho será expandida para revelar o item especificado. Nesse caso, a janela pai recebe as mensagens de notificação TVN_ITEMEXPANDING
e TVN_ITEMEXPANDED
.
Exemplo
Confira o exemplo de CTreeCtrl::HitTest
.
CTreeCtrl::SelectDropTarget
Chame essa função para redesenhar o item no estilo usado para indicar o destino de uma operação de arrastar e soltar.
BOOL SelectDropTarget(HTREEITEM hItem);
Parâmetros
hItem
Identificador de um item de árvore.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Exemplo
// 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 essa função para selecionar o item de exibição de árvore especificado.
BOOL SelectItem(HTREEITEM hItem);
Parâmetros
hItem
Identificador de um item de árvore.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Se hItem
for NULL
, essa função não selecionará nenhum item.
Exemplo
// 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 essa função para rolar a exibição da árvore verticalmente para que o item especificado seja o primeiro item visível.
BOOL SelectSetFirstVisible(HTREEITEM hItem);
Parâmetros
hItem
Manipule o item de árvore a ser definido como o primeiro item visível.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
A função envia uma mensagem para a janela com os parâmetros de mensagem TVM_SELECTITEM
e TVGN_FIRSTVISIBLE
.
Exemplo
// 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 registro automático do controle de exibição de árvore atual.
BOOL SetAutoscrollInfo(
UINT uPixelsPerSec,
UINT uUpdateTime);
Parâmetros
uPixelsPerSec
[in] O número de pixels por segundo a rolar.
uUpdateTime
[in] O intervalo de tempo entre as atualizações do controle.
Valor de retorno
Sempre retorna TRUE
.
Comentários
Os parâmetros de registro automático são usados para rolar para exibir um item que atualmente não está visível. O controle de exibição de árvore deve ter o estilo estendido TVS_EX_AUTOHSCROLL
, que é descrito em Estilos Estendidos de Controle de Exibição de Árvore.
Esse método envia a mensagem TVM_SETAUTOSCROLLINFO
, que é descrita no SDK do Windows.
Exemplo
O primeiro exemplo de código define uma variável m_treeCtrl
, que é usada para acessar o controle de exibição de árvore atual. O exemplo de código também define um inteiro sem sinal e HTREEITEM
variáveis. Essas variáveis são usadas no próximo exemplo.
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 exemplo de código a seguir define o comportamento de registro automático do controle de exibição de árvore atual. Em uma seção anterior do exemplo de código, que não é mostrada, criamos uma exibição de árvore que consiste em um nó de país/região raiz para o Estados Unidos, subnós para os estados da Pensilvânia e Washington e itens de árvore para cidades nesses estados. Fizemos intencionalmente o controle de exibição de árvore estreita para que ele seja rolado automaticamente para exibir o item de árvore que tem o foco. O exemplo de código define o controle de exibição de árvore para rolar automaticamente 30 pixels por segundo a cada 5 segundos até que o item de árvore esteja em exibição.
// Scroll 30 pixels/sec and redraw every 5 seconds.
m_treeCtrl.SetAutoscrollInfo(30, 5);
CTreeCtrl::SetBkColor
Essa função membro implementa o comportamento da mensagem TVM_SETBKCOLOR
do Win32, conforme descrito no SDK do Windows.
COLORREF SetBkColor(COLORREF clr);
Parâmetros
clr
Um valor COLORREF
que especifica a nova cor do plano de fundo. Se esse valor for -1, o controle será revertido para usar a cor do sistema para a cor da tela de fundo.
Valor de retorno
Um valor COLORREF
que representa a cor do texto atual. Se esse valor for -1, o controle usará a cor do sistema para a cor do texto.
Exemplo
Confira o exemplo de CTreeCtrl::SetTextColor
.
CTreeCtrl::SetCheck
Chame essa função de membro para definir o estado de verificação de um item de controle de árvore.
BOOL SetCheck(
HTREEITEM hItem,
BOOL fCheck = TRUE);
Parâmetros
hItem
A HTREEITEM
para receber a alteração do estado de verificação.
fCheck
Indica se o item de controle de árvore deve ser verificado ou desmarcado. Por padrão, SetCheck
define o item a ser verificado.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Quando o item de controle de árvore é verificado (fCheck
definido como TRUE
), o item aparece com uma marca de seleção adjacente.
Exemplo
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 caixas de seleção, defina TVS_CHECKBOXES
antes de preencher o controle de á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 controle de exibição de árvore atual.
DWORD SetExtendedStyle(
DWORD dwExMask,
DWORD dwExStyles);
Parâmetros
dwExMask
[in] Uma máscara de bits que especifica quais estilos no controle de exibição de árvore atual são afetados por esse método. Se esse parâmetro for zero, ele será ignorado e o valor do parâmetro dwExStyles
será atribuído ao controle de exibição de árvore. Especifique zero ou uma combinação bit a bit (OR) de estilos descritos em Estilos Estendidos de Controle de Exibição de Árvore.
dwExStyles
[in] Uma máscara de bits que especifica quais estilos no controle de exibição de árvore atual devem ser definidos ou limpos. Para definir uma combinação de estilos, especifique uma combinação bit a bit (OR) de estilos descritos em Estilos Estendidos de Controle de Exibição de Árvore. Para limpar um conjunto de estilos, especifique zero.
Valor de retorno
Um valor que contém os estilos de controle estendidos anteriores.
Comentários
Esse método limpa os estilos especificados no parâmetro dwExMask
e define os estilos especificados no parâmetro dwExStyles
. Somente os estilos estendidos que correspondem aos bits em dwExMask
alteração.
Esse método envia a mensagem TVM_SETEXTENDEDSTYLE
, que é descrita no SDK do Windows.
Exemplo
O primeiro exemplo de código define uma variável m_treeCtrl
, que é usada para acessar o controle de exibição de árvore atual. O exemplo de código também define um inteiro sem sinal e HTREEITEM
variáveis. Essas variáveis são usadas no próximo exemplo.
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 estilo estendido TVS_EX_AUTOHSCROLL
ao controle de exibição de árvore atual. Em uma seção anterior do exemplo de código, que não é mostrada, criamos uma exibição de árvore que consiste em um nó de país/região raiz para o Estados Unidos, subnós para os estados da Pensilvânia e Washington e itens de árvore para cidades nesses estados. Fizemos intencionalmente o controle de exibição de árvore estreita para que ele seja rolado automaticamente para exibir o item de árvore que tem o foco.
m_treeCtrl.SetExtendedStyle(TVS_EX_AUTOHSCROLL, TVS_EX_AUTOHSCROLL);
CTreeCtrl::SetImageList
Chame essa função para definir a lista de imagens normal ou de estado para um controle de exibição de árvore e redesenhe o controle usando as novas imagens.
CImageList* SetImageList(
CImageList* pImageList,
int nImageListType);
Parâmetros
pImageList
Ponteiro para a lista de imagens a ser atribuída. Se pImageList
for NULL
, todas as imagens são removidas do controle de exibição de á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 normal, que contém as imagens selecionadas e não selecionadas para o item de exibição de árvore. Você deve usar esse estado para sobrepor imagens.TVSIL_STATE
Define a lista de imagens de estado, que contém as imagens para itens de exibição de árvore que estão em um estado definido pelo usuário.
Valor de retorno
Ponteiro para a lista de imagens anterior, se houver; caso contrário NULL
.
Exemplo
Confira o exemplo de CTreeCtrl::GetImageList
.
CTreeCtrl::SetIndent
Chame essa função para definir a largura do recuo para um controle de exibição de árvore e redesenhe o controle para refletir a nova largura.
void SetIndent(UINT nIndent);
Parâmetros
nIndent
Largura, em pixels, do recuo. Se nIndent
for menor que a largura mínima definida pelo sistema, a nova largura será definida como o mínimo definido pelo sistema.
Exemplo
Confira o exemplo de CTreeCtrl::GetIndent
.
CTreeCtrl::SetInsertMark
Essa função membro implementa o comportamento da mensagem TVM_SETINSERTMARK
do Win32, conforme descrito no SDK do Windows.
BOOL SetInsertMark(
HTREEITEM hItem,
BOOL fAfter = TRUE);
Parâmetros
hItem
HTREEITEM
que especifica em qual item a marca de inserção será colocada. Se esse argumento for NULL, a marca de inserção será removida.
fAfter
Valor BOOL que especifica se a marca de inserção é colocada antes ou depois do item especificado. Se esse argumento não for zero, a marca de inserção será colocada após o item. Se esse argumento for zero, a marca de inserção será colocada antes do item.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Exemplo
// 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
Essa função membro implementa o comportamento da mensagem TVM_SETINSERTMARKCOLOR
do Win32, conforme descrito no SDK do Windows.
COLORREF SetInsertMarkColor(COLORREF clrNew);
Parâmetros
clrNew
Um valor COLORREF
que contém a nova cor da marca de inserção.
Valor de retorno
Um valor COLORREF
que contém a cor da marca de inserção anterior.
Exemplo
Confira o exemplo de CTreeCtrl::GetInsertMarkColor
.
CTreeCtrl::SetItem
Chame essa função para definir os atributos do item de exibição de árvore especificado.
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
Ponteiro de uma estrutura TVITEM
que contém os novos atributos de item, conforme descrito no SDK do Windows.
hItem
Indicador de item cujos atributos devem ser definidos. Confira o membro hItem
da estrutura TVITEM
no SDK do Windows.
nMask
Inteiro especificando quais atributos definir. Consulte o membro mask
da estrutura TVITEM
.
lpszItem
Endereço de uma cadeia de caracteres que contém o texto do item.
nImage
Índice da imagem do item na lista de imagens do controle de exibição de árvore. Consulte o membro iImage
da estrutura TVITEM
.
nSelectedImage
Índice da imagem selecionada do item na lista de imagens do controle de exibição de árvore. Consulte o membro iSelectedImage
da estrutura TVITEM
.
nState
Especifica valores para os estados do item. Consulte o membro State
da estrutura TVITEM
.
nStateMask
Especifica quais estados devem ser definidos. Consulte o membro stateMask
da estrutura TVITEM
.
lParam
Um valor específico do aplicativo do tamanho do ponteiro associado ao item.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Na estrutura TVITEM
, o membro hItem
identifica o item e o membro mask
especifica quais atributos definir.
Se o membro mask
ou o parâmetro nMask
especificar o valor TVIF_TEXT
, o membro pszText
ou o endereço lpszItem
de uma cadeia de caracteres terminada em nulo e o membro cchTextMax
será ignorado. Se mask
(ou nMask
) especificar o TVIF_STATE
valor, o membro stateMask
ou o parâmetro nStateMask
especificar quais estados de item serão alterados e o membro state
ou parâmetro nState
conterá os valores para esses estados.
Exemplo
// 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 essa função para definir o valor específico do aplicativo associado ao item especificado.
BOOL SetItemData(
HTREEITEM hItem,
DWORD_PTR dwData);
Parâmetros
hItem
Identificador do item de lista cujos dados devem ser recuperados.
dwData
Um valor específico do aplicativo do tamanho do ponteiro associado ao item especificado por hItem
.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Exemplo
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 a ser exibido quando o item especificado do controle de exibição de árvore atual estiver no estado expandido.
BOOL SetItemExpandedImageIndex(
HTREEITEM hItem,
int iExpandedImage);
Parâmetros
hItem
[in] Manipule para um item de controle de exibição de árvore.
iExpandedImage
[in] O índice da imagem a ser exibido quando o item especificado estiver no estado expandido.
Valor de retorno
TRUE
se o método for bem-sucedido. Caso contrário, FALSE
.
Comentários
Esse método envia a mensagem TVM_SETITEM
, que é descrita no SDK do Windows. Esse método atribui o parâmetro iExpandedImage
ao membro iExpandedImage
de uma estrutura TVITEMEX
e usa essa estrutura na mensagem.
Exemplo
O primeiro exemplo de código define uma variável m_treeCtrl
, que é usada para acessar o controle de exibição de árvore atual. O exemplo de código também define um inteiro sem sinal e HTREEITEM
variáveis. Essas variáveis são usadas no próximo exemplo.
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 método CTreeCtrl::GetItemExpandedImageIndex
retorna o valor definido pelo método CTreeCtrl::SetItemExpandedImageIndex
. Em uma seção anterior do exemplo de código, que não é mostrada, criamos uma exibição de árvore que consiste em um nó de país/região raiz para o Estados Unidos, subnós para os estados da Pensilvânia e Washington e itens de árvore para cidades nesses 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
Essa função membro implementa o comportamento da mensagem TVM_SETITEMHEIGHT
do Win32, conforme descrito no SDK do Windows.
SHORT SetItemHeight(SHORT cyHeight);
Parâmetros
cyHeight
Especifica a nova altura de cada item no modo de exibição de árvore, em pixels. Se esse argumento for menor que a altura das imagens, ele será definido como a altura das imagens. Se esse argumento não for mesmo, ele será arredondado para baixo até o valor par mais próximo. Se esse argumento for -1, o controle será revertido para usar a altura do item padrão.
Valor de retorno
A altura anterior dos itens, em pixels.
Exemplo
Confira o exemplo de CTreeCtrl::GetItemHeight
.
CTreeCtrl::SetItemImage
Associa imagens a um item.
BOOL SetItemImage(
HTREEITEM hItem,
int nImage,
int nSelectedImage);
Parâmetros
hItem
Identificador do item cuja imagem deve ser definida.
nImage
Índice da imagem do item na lista de imagens do controle de exibição de árvore.
nSelectedImage
Índice da imagem selecionada do item na lista de imagens do controle de exibição de árvore.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Cada item em um controle de exibição de árvore pode ter um par de imagens bitmapped associadas a ele. As imagens aparecem no lado esquerdo do rótulo de um item. Uma imagem é exibida quando o item é selecionado e a outra é exibida quando o item não está selecionado. Por exemplo, um item pode exibir uma pasta aberta quando estiver selecionada e uma pasta fechada quando não estiver selecionada.
Chame essa função para definir o índice da imagem do item e sua imagem selecionada na lista de imagens do controle de exibição de árvore.
Para obter mais informações sobre imagens, consulte CImageList
.
Exemplo
Confira o exemplo de CTreeCtrl::GetItemImage
.
CTreeCtrl::SetItemState
Define o estado do item especificado por hItem
.
BOOL SetItemState(
HTREEITEM hItem,
UINT nState,
UINT nStateMask);
Parâmetros
hItem
Identificador do item cujo estado deve ser definido.
nState
Especifica novos estados para o item.
nStateMask
Especifica quais estados devem ser alterados.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
Para obter informações sobre estados, consulte CTreeCtrl::GetItem
.
Exemplo
Confira o exemplo de CTreeCtrl::GetItemState
.
CTreeCtrl::SetItemStateEx
Define o estado estendido do item especificado no controle de exibição de árvore atual.
BOOL SetItemStateEx(
HTREEITEM hItem,
UINT uStateEx);
Parâmetros
hItem
[in] Manipule para um item de controle de exibição de árvore.
uStateEx
[in] O estado estendido do item. Para obter mais informações, consulte o membro uStateEx
da estrutura TVITEMEX
.
Valor de retorno
TRUE
se o método for bem-sucedido. Caso contrário, FALSE
.
Comentários
Esse método envia a mensagem TVM_SETITEM
, que é descrita no SDK do Windows. Esse método atribui o parâmetro uStateEx
ao membro uStateEx
de uma estrutura TVITEMEX
e usa essa estrutura na mensagem.
Exemplo
O primeiro exemplo de código define uma variável m_treeCtrl
, que é usada para acessar o controle de exibição de árvore atual. O exemplo de código também define um inteiro sem sinal e HTREEITEM
variáveis. Essas variáveis são usadas no próximo exemplo.
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 de exibição de árvore como estado desabilitado. Em uma seção anterior do exemplo de código, que não é mostrada, criamos uma exibição de árvore que consiste em um nó de país/região raiz para o Estados Unidos, subnós para os estados da Pensilvânia e Washington e itens de árvore para cidades nesses estados. Este exemplo de código define o nó da Pensilvânia como estado desabilitado.
// 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
Identificador do item cujo texto deve ser definido.
lpszItem
Endereço de uma cadeia de caracteres que contém o novo texto do item
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Exemplo
// 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 essa função de membro para definir a cor da linha atual para o controle de exibição de árvore.
COLORREF SetLineColor(COLORREF clrNew = CLR_DEFAULT);
Parâmetros
clrNew
A nova cor da linha.
Valor de retorno
A cor da linha anterior.
Comentários
Essa função membro implementa o comportamento da mensagem TVM_SETLINECOLOR
do Win32, conforme descrito no SDK do Windows.
Exemplo
COLORREF clrPrev = m_TreeCtrl.SetLineColor(RGB(255, 0, 0));
CTreeCtrl::SetScrollTime
Chame essa função de membro para definir o tempo máximo de rolagem para o controle de exibição de árvore.
UINT SetScrollTime(UINT uScrollTime);
Parâmetros
uScrollTime
O novo tempo máximo de rolagem em milissegundos. Se esse valor for menor que 100, ele será arredondado até 100.
Valor de retorno
O tempo máximo de rolagem anterior em milissegundos.
Comentários
Essa função membro implementa o comportamento da mensagem TVM_SETSCROLLTIME
do Win32, conforme descrito no SDK do Windows.
CTreeCtrl::SetTextColor
Essa função membro implementa o comportamento da mensagem TVM_SETTEXTCOLOR
do Win32, conforme descrito no SDK do Windows.
COLORREF SetTextColor(COLORREF clr);
Parâmetros
clr
Um valor COLORREF
que contém a nova cor de texto. Se esse argumento for -1, o controle será revertido para usar a cor do sistema para a cor do texto.
Valor de retorno
Um valor COLORREF
que representa a cor do texto anterior. Se esse valor for -1, o controle estava usando a cor do sistema para a cor do texto.
Exemplo
// 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
Essa função membro implementa o comportamento da mensagem TVM_SETTOOLTIPS
do Win32, conforme descrito no SDK do Windows.
CToolTipCtrl* SetToolTips(CToolTipCtrl* pWndTip);
Parâmetros
pWndTip
Um ponteiro para um objeto CToolTipCtrl
que o controle de árvore usará.
Valor de retorno
Um ponteiro para um objeto CToolTipCtrl
que contém a dica de ferramenta usada anteriormente pelo controle ou NULL
se nenhuma dica de ferramenta foi usada anteriormente.
Comentários
Para usar dicas de ferramenta, indique o estilo TVS_NOTOOLTIPS
ao criar o objeto CTreeCtrl
.
Exemplo
Confira o exemplo de CTreeCtrl::GetToolTips
.
CTreeCtrl::ShowInfoTip
Exibe a dica de informações do item especificado no controle de exibição de árvore atual.
void ShowInfoTip(HTREEITEM hItem);
Parâmetros
hItem
[in] Um identificador para um item de exibição de árvore no controle. Para obter mais informações, consulte o membro hItem
da estrutura TVITEMEX
.
Comentários
Para obter mais informações sobre a diferença entre dicas de ferramentas e dicas de informações, consulte dicas de ferramentas e dicas de informações.
Esse método envia a mensagem TVM_SHOWINFOTIP
, que é descrita no SDK do Windows.
CTreeCtrl::SortChildren
Chame essa função para classificar alfabeticamente os itens filho do item pai especificado em um controle de exibição de árvore.
BOOL SortChildren(HTREEITEM hItem);
Parâmetros
hItem
Manipular o item pai cujos itens filho devem ser classificados. Se hItem
for NULL
, a classificação prosseguirá da raiz da árvore.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
SortChildren
não será recurso através da árvore; somente os filhos imediatos de hItem
serão classificados.
Exemplo
// Sort all of the items in the tree control.
m_TreeCtrl.SortChildren(TVI_ROOT);
CTreeCtrl::SortChildrenCB
Chame essa função para classificar itens de exibição de árvore usando uma função de retorno de chamada definida pelo aplicativo que compara os itens.
BOOL SortChildrenCB(LPTVSORTCB pSort);
Parâmetros
pSort
Ponteiro para uma estrutura TVSORTCB
.
Valor de retorno
Diferente de zero se tiver êxito; caso contrário, 0.
Comentários
A função de comparação da estrutura lpfnCompare
deve retornar um valor negativo se o primeiro item deve preceder o segundo, um valor positivo se o primeiro item deve seguir o segundo ou zero se os dois itens forem equivalentes.
Os parâmetros lParam1
e lParam2
correspondem ao membro lParam
da estrutura TVITEM
para os dois itens que estão sendo comparados. O parâmetro lParamSort
corresponde ao membro lParam
da estrutura TV_SORTCB
.
Exemplo
// 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);
Confira também
Exemplo de MFC CMNCTRL1
Classe CWnd
Gráfico da hierarquia
Classe CImageList