Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Observação
A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.
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:
Referência de Controlo da Vista em Árvore no SDK do Windows.
Hierarquia de herança
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_COLLAPSEColapsa a lista.TVE_COLLAPSERESETColapsa a lista e remove os itens filhos. ATVIS_EXPANDEDONCEbandeira do estado é reiniciada. Esta bandeira deve ser usada com aTVE_COLLAPSEbandeira.TVE_EXPANDExpande a lista.TVE_TOGGLEColapsa 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_NORMALRecupera a lista de imagens normais, que contém as imagens selecionadas e não selecionadas para o item de visualização em árvore.TVSIL_STATERecupera 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_CARETRecupera o item selecionado no momento.TVGN_CHILDRecupera o primeiro item filho do item especificado pelohItemparâmetro.TVGN_DROPHILITERecupera o item que é alvo de uma operação de arrastar e largar.TVGN_FIRSTVISIBLERecupera o primeiro objeto visível.TVGN_LASTVISIBLERecupera o último item expandido na árvore. Isto não recupera o último item visível na janela de visualização em árvore.TVGN_NEXTRecupera o próximo item irmão.TVGN_NEXTVISIBLERecupera o próximo item visível que se segue ao item especificado.TVGN_PARENTRecupera o pai do item especificado.TVGN_PREVIOUSRecupera o item irmão anterior.TVGN_PREVIOUSVISIBLERecupera o primeiro item visível que precede o item especificado.TVGN_ROOTRecupera 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_CARETDefine a seleção para o item dado.TVGN_DROPHILITERedesenha o item dado no estilo usado para indicar o alvo de uma operação de arrastar e largar.TVGN_FIRSTVISIBLEDesloca 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_NORMALDefine 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_STATEDefine 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