Ajout de contrôles et de texte
Les contrôles et le texte placés sur les boîtes de dialogue et les panneaux d’affichage permettent à l’utilisateur d’interagir avec le processus d’installation. Ajoutez une boîte de dialogue à l’interface utilisateur en l’incluant dans la table Boîte de dialogue, comme décrit dans Utilisation de l’interface utilisateur. Remplissez les boîtes de dialogue et les panneaux d’affichage avec des contrôles en complétant respectivement la table Control et la table BBControl.
Les attributs initiaux du contrôle peuvent être spécifiés dans la colonne Attributs de la table Control. Voir Attributs du contrôle.
Pour que les attributs du contrôle dépendent d’une condition, utilisez la table ControlCondition pour désactiver, activer, masquer ou afficher un contrôle en fonction de la valeur d’une propriété ou d’une instruction conditionnelle. Vous pouvez également utiliser cette table pour remplacer la spécification du contrôle par défaut entré dans la table Dialog.
Pour qu’un événement modifie un attribut de contrôle, abonnez-le à un ControlEvent dans la table EventMapping. Un ControlEvent spécifie une action que le programme d’installation doit effectuer, ou un changement d’attributs d’un ou de plusieurs contrôles dans la boîte de dialogue. Voir Vue d’ensemble de ControlEvent. Entrez l’identificateur de l’attribut dans la colonne Attribute et l’identificateur de ControlEvent dans la colonne Event de la table EventMapping.
Certains contrôles facilitent la collecte d’informations auprès de l’utilisateur. Par exemple, une case à cocher permet à l’utilisateur de définir la valeur d’une propriété. Consultez la table CheckBox, la table ComboBox, la table ListBox, la table RadioButton et la table ListView.
Notez que pour des questions de sécurité, les propriétés privées ne peuvent pas être modifiées par l’utilisateur qui interagit avec l’interface utilisateur. Si une propriété doit être définie par l’interface utilisateur, elle doit être une propriété publique et avoir un nom en majuscules. Voir À propos des propriétés.
Vous pouvez faire en sorte que votre boîte de dialogue présente des informations à l’utilisateur, ou les consigner dans un journal en réponse aux actions d’installation en remplissant la table ActionText.
Les contrôles peuvent avoir un style de police prédéfini. 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ù 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 sera utilisée.
Il est recommandé de définir la propriété DefaultUIFont de chaque package d’installation avec une interface utilisateur dans la table Property sur l’un des styles prédéfinis répertoriés dans la table TextStyle. Si cette propriété n’est pas spécifiée, le programme d’installation utilise la police système. Cela peut amener le programme d’installation à afficher incorrectement des chaînes de texte si la page de codes du package est différente de celle de l’interface utilisateur par défaut de l’utilisateur.
Pour la plupart des contrôles, le texte s’affiche à l’aide du jeu de caractères spécifié par la page de codes de la base de données. Cela garantit que le jeu de caractères correct est utilisé avec les informations contenues dans la base de données. Les exceptions à cette règle sont les contrôles Edit, DirectoryList, PathEdit et DirectoryCombo, qui affichent toujours du texte à l’aide du jeu de caractères d’interface utilisateur par défaut de l’utilisateur. Les contrôles Text, ListBox et ComboBox utilisent le jeu de caractères d’interface utilisateur par défaut de l’utilisateur si l’attribut de contrôle UsersLanguage est défini.
Dans certains cas, un contrôle peut être redéfini de manière incorrecte lors de l’annulation d’une boîte de dialogue. Ceci est lié à l’ordre dans lequel les contrôles reçoivent les messages WM_PAINT après la suppression de la boîte de dialogue Annuler. Pour résoudre ce problème, essayez de modifier l’ordre des contrôles dans la table Contrôle.
Les contrôles doivent être suffisamment grands pour prendre en charge l’intégralité du texte affiché à toutes les tailles de police. Les contrôles doivent être suffisamment grands pour prendre en charge l’intégralité du texte localisé, si le texte de l’interface utilisateur peut être localisé. Des tailles de police plus grandes ou un texte localisé peuvent nécessiter plus d’espace que le texte d’origine et être tronqués par un contrôle trop petit. Pour plus d’informations sur la localisation du texte de l’interface utilisateur, consultez la section Exemple de localisation.