Edição do rótulo 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 edição clicando no rótulo de um item com o foco. Um aplicativo começa a edição usando a função 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 é concluída, você é responsável por atualizar o rótulo do item, se for o caso.
Quando a edição de rótulos começa, um controle de árvore envia uma mensagem de notificação TVN_BEGINLABELEDIT. Ao processar essa notificação, você pode permitir a edição de alguns rótulos e impedir a edição de outros. O retorno de 0 permite a edição, e o retorno não zero a impede.
Quando a edição de rótulos é cancelada ou concluída, um controle de árvore envia uma mensagem de notificação TVN_ENDLABELEDIT. 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 for caso, 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ótulo usando a função membro GetEditControl. Você pode chamar a função membro SetLimitText do controle de edição para limitar a quantidade de texto que um usuário pode inserir ou subclassificar0o controle de edição para interceptar e descartar caracteres inválidos. No entanto, observe que o controle de edição é exibido somente depois que TVN_BEGINLABELEDIT é enviado.