Étiquettes d'élément de contrôle d'arborescence
Vous spécifiez généralement le texte de l’étiquette d’un élément lors de l’ajout de l’élément au contrôle d’arborescence (CTreeCtrl). La InsertItem
fonction membre peut passer une structure TVITEM qui définit les propriétés de l’élément, y compris une chaîne contenant le texte de l’étiquette. InsertItem
a plusieurs surcharges qui peuvent être appelées avec différentes combinaisons de paramètres.
Un contrôle d’arborescence alloue de la mémoire pour le stockage de chaque élément ; le texte des étiquettes d’élément occupe une partie significative de cette mémoire. Si votre application conserve une copie des chaînes dans le contrôle d’arborescence, vous pouvez réduire les exigences en mémoire du contrôle en spécifiant la valeur LPSTR_TEXTCALLBACK dans le membre pszText ou TV_ITEM
le paramètre lpszItem au lieu de passer des chaînes réelles au contrôle d’arborescence. L’utilisation de LPSTR_TEXTCALLBACK entraîne le retrait du texte de l’étiquette d’un élément à partir de l’application chaque fois que l’élément doit être redessiné. Pour récupérer le texte, le contrôle d’arborescence envoie un message de notification TVN_GETDISPINFO , qui inclut l’adresse d’une structure NMTVDISPINFO . Vous devez répondre en définissant les membres appropriés de la structure incluse.
Un contrôle d’arborescence utilise la mémoire allouée à partir du tas du processus qui crée le contrôle d’arborescence. Le nombre maximal d’éléments d’un contrôle d’arborescence est basé sur la quantité de mémoire disponible dans le tas. Chaque élément prend 64 octets.