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 son nom dans la colonne Propriétés de la table Contrôle.

Le contrôle SelectionTree publie automatiquement les événements de contrôle suivants sur Windows XP ou les 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 pas de nœuds, 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 nécessairement être répertoriés dans la table ControlEvent.

Événement de contrôle Description
SelectionAction Publie une chaîne 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 en surbrillance.
SelectionDescription Publie une chaîne de la table UIText 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 en surbrillance.
SelectionPathOn Publie si un chemin de sélection est associé ou non à la fonctionnalité actuellement sélectionnée.
SelectionSize Publie la taille de l’élément en surbrillance.

 

À compter des systèmes Windows Server 2003, les contrôles SelectionTree publient tous les événements du tableau ci-dessus et, en outre, publient un ControlEvent DoAction ou un ContrôleEvent SetProperty. 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, les contrôles SelectionTree publient 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 lorsqu’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 d’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 en cours d’installation. Défini uniquement si la fonctionnalité est installée en tant que INSTALLSTATE_LOCAL.

 

Notes

Le contenu du champ Texte de la table Control n’est jamais affiché par le contrôle ListView. 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 de {\style} ou de {&style} la chaîne des caractères affichés Où 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. VoirAccessibilité.

 

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 le 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 Event.

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. nom qui constitue également la valeur de la propriété figurant dans la colonne Property de la table Control.
Position Position du contrôle dans la boîte de dialogue. 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 Control. Utilisez les unités du 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 Property de la table Control.
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 de PropertyName. S’il est défini, il s’agit de la valeur d’IndirectPropertyName. Lorsque l’attribut change, le contrôle reflète la nouvelle valeur.
Texte Affiche le texte dans les lecteurs d’écran en fonction du texte entré dans la colonne Texte de la table Contrôle. VoirAccessibilité.
Visible 0x00000000 0x00000001
Contrôle masqué. Contrôle visible.
Incluez ce bit dans le mot de bit de la colonne Attributes dans la table Control 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ôle dans un état activé.
Incluez ce bit dans le mot de bit dans la colonne Attributes de la table Control 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 sous un aspect 3D enfoncé.
Incluez ces bits dans le mot bit dans la colonne Attributes de la table Control.
Indirect 0x00000000 0x00000008
Affiche ou modifie la valeur de la propriété dans la colonne Property de la table Control. Affiche ou modifie la valeur de la propriété dont l’identificateur figure dans la colonne Property de la table Control.
Détermine s’il existe une référence indirecte à la propriété associée à ce contrôle.
RTLRO 0x00000000 0x00000020
Le texte du contrôle s’affiche dans l’ordre de lecture de gauche à droite. Le texte du contrôle s’affiche dans l’ordre de lecture de droite à gauche.
RightAligned 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, RightAligned 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_TABSTOPet WS_GROUP.

L’arborescence de sélection est remplie uniquement si les actions CostInitialize et 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 à 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 en surbrillance :

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

Les chaînes suivantes permettent d’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 actuelle dans SelectionDescription ControlEvent.

  • SelAbsentAbsent
  • 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