Partilhar via


Edição de rótulos de controle de árvore

O usuário pode editar diretamente os rótulos de itens em um controle de árvore (CTreeCtrl) que tem o estilo TVS_EDITLABELS . O usuário começa a editar clicando no rótulo do item que tem o foco. Um aplicativo começa a editar usando a função de membro EditLabel . O controle de árvore envia a notificação quando a edição começa e quando ela é cancelada ou concluída. Quando a edição estiver concluída, você será responsável por atualizar a etiqueta do item, se apropriado.

Quando a edição de rótulos começa, um controlo de árvore envia uma mensagem de notificação TVN_BEGINLABELEDIT. Ao processar esta notificação, pode permitir a edição de algumas etiquetas e impedir a edição de outras. Retornar 0 permite a edição, e retornar diferente de zero impede isso.

Quando a edição de rótulos é cancelada ou concluída, um controle de árvore envia uma TVN_ENDLABELEDIT mensagem de notificação. O parâmetro lParam é o endereço de uma estrutura NMTVDISPINFO . O membro do item é uma estrutura TVITEM que identifica o item e inclui o texto editado. Você é responsável por atualizar o rótulo do item, se apropriado, talvez depois de validar a cadeia de caracteres editada. O membro pszText de TV_ITEM é 0 se a edição for cancelada.

Durante a edição de rótulos, normalmente em resposta à mensagem de notificação TVN_BEGINLABELEDIT, você pode obter um ponteiro para o controle de edição usado para edição de rótulos utilizando o método membro GetEditControl. Você pode chamar a função de membro SetLimitText do controle de edição para limitar a quantidade de texto que um usuário pode inserir ou subclassificar o controle de edição para intercetar e descartar caracteres inválidos. Observe, no entanto, que o controle de edição é exibido somente depoisque TVN_BEGINLABELEDIT é enviado.

Ver também

Usando CTreeCtrl
Controlos