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 tenha o estilo de TVS_EDITLABELS . O usuário inicia a editar clicando no rótulo do item que tem o foco. Um aplicativo inicia a editar usando a função de membro de EditLabel . O controle de árvore envia notificação ao editar inicia e quando será cancelado ou concluído. Ao editar é concluído, você é responsável para atualizar o rótulo do item, se apropriado.
Quando a edição do rótulo é iniciada, um controle de árvore envia uma notificação de TVN_BEGINLABELEDIT . Processando esta notificação, você pode permitir a edição de alguns rótulos e evitar a edição de outro. Retornar 0 permite editar, e retornar diferente de zero impedir.
Quando a edição do rótulo é cancelada ou concluída, um controle de árvore envia uma notificação de TVN_ENDLABELEDIT . O parâmetro de lParam é o endereço de uma estrutura de NMTVDISPINFO . O membro de item é uma estrutura de TVITEM que identifica o item e inclua texto editado. Você é responsável para atualizar o rótulo do item, se apropriado, talvez depois de ter validado a cadeia de caracteres editada. O membro de pszText de TV_ITEM é 0 se a edição é cancelada.
Durante a edição do rótulo, normalmente em resposta à notificação de TVN_BEGINLABELEDIT , você pode obter um ponteiro para o controle de edição usado para a edição do rótulo usando a função de membro de GetEditControl . Você pode chamar a função de membro de SetLimitText de controle de edição para limitar a quantidade de texto que um usuário possa digitar ou subclasse o controle de edição para interceptar e descartar caracteres inválidos. Observe, entretanto, que o controle de edição será exibido somente depois que TVN_BEGINLABELEDIT é enviado.