SelectionTree, contrôle

Ce contrôle permet à un utilisateur de modifier l’état de sélection des fonctionnalités répertoriées dans la table Fonctionnalité. Le contrôle est associé à une propriété de valeur de chaîne que l’utilisateur peut définir par une boîte de dialogue Parcourir. Vous pouvez associer le contrôle à une propriété en entrant le nom de la propriété dans la colonne Propriété de la table Contrôle.

Le contrôle SelectionTree publie automatiquement les événements de contrôle suivants sur Windows XP ou des systèmes d’exploitation antérieurs. Le contrôle SelectionTree publie ces événements lorsque l’élément sélectionné est modifié d’un nœud à un autre. Si l’arborescence de sélection n’a aucun nœud, le contrôle publie ces événements et efface le contenu des contrôles qui s’abonnent à l’événement. Ces événements ControlEvent ne doivent pas être répertoriés dans la table ControlEvent.

Événement de contrôle Description
SelectionAction Publie une chaîne à partir de la table UIText décrivant l’élément mis en surbrillance.
SelectionBrowse Génère une boîte de dialogue Parcourir utilisée pour modifier le chemin d’accès de l’élément mis en surbrillance.
SelectionDescription Publie une chaîne à partir du tableau Feature décrivant l’élément mis en surbrillance.
SelectionNoItems Supprime le texte descriptif ou désactive les boutons d’un élément obsolète.
SelectionPath Publie le chemin d’accès de l’élément mis en surbrillance.
SelectionPathOn Publie s’il existe ou non un chemin de sélection associé à la fonctionnalité actuellement sélectionnée.
SelectionSize Publie la taille de l’élément mis en surbrillance.

 

À compter des systèmes Windows Server 2003, SelectionTree contrôle la publication de tous les événements du tableau ci-dessus et, en outre, la publication d’un Contrôle DoAction ou d’un SetProperty ControlEvent. Les enregistrements doivent être ajoutés à la table ControlEvent pour publier DoAction ou SetProperty ControlEvents.

Événement de contrôle Description
DoAction Avertit le programme d’installation d’exécuter une action personnalisée.
setProperty Définit une propriété sur une nouvelle valeur.

 

À compter de Windows Installer version 3.0, SelectionTree contrôle la publication d’un événement qui exécute des actions personnalisées répertoriées dans la table ControlEvent. Le contrôle SelectionTree publie cet événement chaque fois que la sélection de fonctionnalité change dans le contrôle ou chaque fois qu’un autre état de sélection est choisi pour la fonctionnalité actuelle. Les actions personnalisées s’exécutent chaque fois que l’événement est publié. Le contrôle SelectionTree envoie des informations à l’action personnalisée en définissant les valeurs des propriétés suivantes. Toutes ces propriétés sont effacées lorsque le contrôle SelectionTree est fermé.

Windows Installer 2.0 : non pris en charge. Le contrôle SelectionTree ne publie pas l’événement et ne définit pas les propriétés suivantes.

Propriété Description
MsiSelectionTreeSelectedFeature Nom de la fonctionnalité sélectionnée dans le champ Fonctionnalité de la table Fonctionnalité.
MsiSelectionTreeSelectedAction État de l’action d’installation de la fonctionnalité sélectionnée. La valeur peut être INSTALLSTATE_ABSENT, INSTALLSTATE_LOCAL, INSTALLSTATE_SOURCE ou INSTALLSTATE_ADVERTISED.
MsiSelectonTreeChildrenCount Nombre de nœuds enfants directs.
MsiSelectionTreeInstallingChildrenCount Nombre de nœuds enfants directs INSTALLSTATE_LOCAL, INSTALLSTATE_SOURCE ou INSTALLSTATE_ADVERTISED.
MsiSelectionTreeSelectedCost Coût de l’installation de la fonctionnalité sélectionnée en unités de 512 octets.
MsiSelectionTreeChildrenCost Coût de l’installation de toutes les fonctionnalités enfants en unités de 512 octets.
MsiSelectionTreeSelectedPath Chemin d’accès où la fonctionnalité sélectionnée est installée. Défini uniquement si la fonctionnalité est installée en tant que INSTALLSTATE_LOCAL.

 

Notes

Le contenu du champ Texte de la table contrôle n’est jamais affiché par le contrôle SelectionTree. Au lieu de cela, ce champ spécifie le style de texte à afficher par le contrôle et contient une description du contrôle utilisé par les utilitaires de révision d’écran. Pour définir la police et le style de police d’une chaîne de texte, préfixez la chaîne des caractères affichés avec {\style} ou {&style}. Où le style est un identificateur répertorié dans la colonne TextStyle de la table TextStyle. Si aucun de ces éléments n’est présent, mais que la propriété DefaultUIFont est définie comme un style de texte valide, cette police est utilisée. Les informations suivantes sont lues par les utilitaires de révision d’écran comme description du contrôle. Voir Accessibilité.

 

Attributs de contrôle

Vous pouvez utiliser les attributs suivants avec ce contrôle. Pour modifier la valeur d’un attribut à l’aide d’un événement, abonnez-vous au contrôle à un ControlEvent dans la table EventMapping et répertoriez l’identificateur de l’attribut dans la colonne Attribut. Entrez l’identificateur de ControlEvent dans la colonne Événement.

Identificateur d’attribut Bit hexadécimal Description
IndirectPropertyName Nom d’une propriété indirecte associée au contrôle. Si le bit d’attribut indirect est défini, le contrôle affiche ou modifie la valeur de la propriété portant ce nom. Si le bit d’attribut indirect est défini, ce nom est également la valeur de la propriété répertoriée dans la colonne Propriété de la table Contrôle.
Position Position du contrôle dans la boîte de dialogue. Entrez la largeur, la hauteur et les coordonnées du contrôle dans les colonnes Width, Height, X et Y de la table Control. Utilisez des unités de programme d’installation pour la longueur et la distance.
PropertyName Nom de la propriété associée à ce contrôle. Si le bit d’attribut indirect n’est pas défini, le contrôle affiche ou modifie la valeur de la propriété portant ce nom. Cet attribut est spécifié dans la colonne Propriété de la table Contrôle.
PropertyValue Valeur actuelle de la propriété affichée ou modifiée par ce contrôle. Si le bit d’attribut indirect n’est pas défini, il s’agit de la valeur propertyName. Si le bit d’attribut indirect est défini, il s’agit de la valeur indirectPropertyName. Si l’attribut change, le contrôle reflète la nouvelle valeur.
Text Affiche du texte dans les lecteurs d’écran en fonction du texte entré dans la colonne Texte de la table Contrôle. Voir Accessibilité.
Visible 0x00000000 0x00000001
Contrôle masqué. Contrôle visible.
Incluez ce bit dans le mot de bits de la colonne Attributs de la table Contrôle pour rendre le contrôle visible ou masqué lors de sa création.
Vous pouvez également masquer ou afficher un contrôle à l’aide de la table ControlCondition.
Activé 0x00000000 0x00000002
Contrôle dans un état désactivé. Contrôler dans un état activé.
Incluez ce bit dans le mot de bits dans la colonne Attributs du contrôle pour activer le contrôle lors de la création.
Vous pouvez également activer ou désactiver un contrôle à l’aide de la table ControlCondition.
Sunken 0x00000000 0x00000004
Affiche le style visuel par défaut. Affiche le contrôle avec une apparence 3D enfoncée.
Incluez ces bits dans le mot de bits dans la colonne Attributs de la table Contrôle.
Indirect 0x00000000 0x00000008
Le contrôle affiche ou modifie la valeur de la propriété dans la colonne Propriété de la table Control. Le contrôle affiche ou modifie la valeur de la propriété qui contient l’identificateur répertorié dans la colonne Propriété de la table Contrôle.
Détermine si la propriété associée à ce contrôle est référencée indirectement.
RTLRO 0x00000000 0x00000020
Le texte du contrôle s’affiche dans l’ordre de lecture gauche à droite. Le texte du contrôle s’affiche dans l’ordre de lecture de droite à gauche.
Aligné à droite 0x00000000 0x00000040
Le texte du contrôle est aligné à gauche. Le texte du contrôle est aligné à droite.
LeftScroll 0x00000000 0x00000080
La barre de défilement se trouve sur le côté droit du contrôle. La barre de défilement se trouve sur le côté gauche du contrôle.
Bidi 0x000000E0 Définissez cette valeur pour une combinaison des attributs RTLRO, RightA align et LeftScroll .

 

Notes

Ce contrôle peut être créé à partir de la classe WC_TREEVIEW à l’aide de la fonction CreateWindowEx . Il a les styles WS_BORDER, TVS_HASLINES, TVS_HASBUTTONS, TVS_LINESATROOT, TVS_DISABLEDRAGDROP, TVS_SHOWSELALWAYS, WS_CHILD, WS_TABSTOP et WS_GROUP .

L’arborescence de sélection est remplie uniquement si l’action CostInitialize et l’action CostFinalize ont été appelées.

La chaîne suivante dans la table UIText est liée à ce contrôle.

Terme Description
AbsentPath
Chemin d’accès affiché pour un élément dans l’état absent.

 

Les six chaînes suivantes sont utilisées pour afficher le nombre d’enfants sélectionnés et la taille associée à l’élément mis en surbrillance :

  • SelChildCostPos
  • SelChildCostNeg
  • SelParentCostPosPos
  • SelParentCostPosNeg
  • SelParentCostNegPos
  • SelParentCostNegNeg

Les chaînes suivantes sont utilisées pour afficher les options de sélection disponibles pour un élément dans un menu contextuel :

  • MenuAbsent
  • MenuLocal
  • MenuCD
  • MenuNetwork
  • MenuAllLocal
  • MenuAllCD
  • MenuAllNetwork

Les chaînes suivantes sont utilisées pour expliquer la sélection présente dans SelectionDescription ControlEvent.

  • SelAbsentAbsentAbsent
  • SelAbsentLocal
  • SelAbsentCD
  • SelAbsentNetwork
  • SelLocalAbsent
  • SelLocalLocal
  • SelLocalCD
  • SelLocalNetwork
  • SelCDAbsent
  • SelNetworkAbsent
  • SelCDLocal
  • SelNetworkLocal
  • SelCDCD
  • SelNetworkNetwork

Les quatre chaînes localisées suivantes sont utilisées pour mettre en forme la taille d’un fichier :

  • Octets
  • Ko
  • Mo
  • Go