Partager via


Changement de nom de contrôle d'arborescence

L'utilisateur peut modifier directement les noms des éléments dans un contrôle d'arborescence (CTreeCtrl) qui contient le style de TVS_EDITLABELS. L'utilisateur démarre la modification en cliquant sur le nom de l'élément qui est active. Une application engage la modifier à l'aide de la fonction membre EditLabel. L'arborescence envoie une notification en cas de démarrage et lorsqu'il est annulée ou terminé. Lorsque la modification est terminé, vous êtes chargé de mettre à jour le nom de l'élément, le cas échéant.

Lorsque le changement de nom commence, un contrôle d'arborescence envoie un message de notification TVN_BEGINLABELEDIT. Lors de cette notification, vous pouvez autoriser la modification des noms et empêcher la modification d'autres informations. Retourne 0 autorise la modification, et retourner une valeur non nulle l'empêché.

Lorsque le changement de nom est annulée ou terminée, un contrôle d'arborescence envoie un message de notification TVN_ENDLABELEDIT. Le paramètre d'lParam est l'adresse d'une structure NMTVDISPINFO. Le membre de élément est une structure TVITEM qui identifie l'élément y compris le texte modifié. Vous êtes chargé de mettre à jour le nom de l'élément, le cas échéant, par exemple après avoir validé la chaîne modifiée. Le membre pszText deTV_ITEM autorisé est 0 si la modification est annulé.

Lors de le changement de nom, généralement en réponse au message de notification TVN_BEGINLABELEDIT, vous pouvez obtenir un pointeur vers le contrôle d'édition utilisée pour le changement de nom à l'aide de la fonction membre GetEditControl. Vous pouvez appeler la fonction membre SetLimitText du contrôle d'édition pour limiter la quantité de texte qu'un utilisateur peut entrer ou sous-classe le contrôle d'édition pour désactiver et ignorer les caractères non valides. Notez, toutefois, que le contrôle d'édition s'affiche uniquement après queTVN_BEGINLABELEDIT est envoyé.

Voir aussi

Référence

À l'aide de CTreeCtrl

Concepts

contrôles (MFC)