Utilisation des composants de formulaire VBScript

Utilisation des composants dans les formulaires VBScript

Bien que les formulaires et les composants soient basés sur la bibliothèque de composants visuels (VCL) d'Embarcadero Delphi™, le moteur de formulaires d'Altium Designer basé sur Delphi Tool Palette est toujours utilisé pour ajouter des contrôles à un formulaire lorsque l’on utilise VBScript. De plus, les gestionnaires d’événements sont générés et le code est écrit en langage VBScript, quelles que soient les origines Delphi du formulaire ou du composant dans Altium Designer.

Présentation des composants

Le système de script prend en charge deux types de composants : les composants visuels et les composants non visuels. Les composants visuels servent à construire l’interface utilisateur, tandis que les composants non visuels sont utilisés pour différentes tâches, telles que les fonctions fournies par le Timer, OpenDialog et MainMenu . Par exemple, le composant non visuel Timer est utilisé pour activer du code spécifique à intervalles réguliers et n’est jamais visible par l’utilisateur. Le Button, Edit et Memo sont des composants visuels : ils sont visibles par l’utilisateur.

Ces deux types de composants apparaissent lors de la conception, mais les composants non visuels ne sont pas visibles lors de l’exécution. Les composants du Tool Palette sont orientés objet et comportent les trois éléments suivants :

  • Propriétés
  • Événements
  • Méthodes

Une property est une caractéristique d’un objet qui influence soit son comportement visible, soit ses opérations. Par exemple, la Visible propriété détermine si cet objet est visible dans un formulaire de script.

Un event est une action ou un événement détecté par le script. Dans un script, le programmeur écrit du code pour chaque gestionnaire d’événement, conçu pour capturer un événement spécifique, tel qu’un clic de souris.

Un method est une procédure toujours associée à un objet et qui définit le comportement de cet objet.

Tous les formulaires de script comportent un ou plusieurs composants. Les composants affichent généralement des informations ou permettent à un utilisateur d’effectuer une action. Par exemple, un « Label » sert à afficher du texte statique, une « zone de saisie » permet à un utilisateur de saisir des données, et un « bouton » peut être utilisé pour déclencher des actions.

N'importe quelle combinaison de composants peut être placée sur un formulaire, ce qui permet à l'utilisateur d'interagir avec eux lorsque le script est en cours d'exécution (en temps d'exécution). C'est au programmeur de décider ce qui se passe lorsqu'un utilisateur clique sur un bouton ou modifie le texte d'une zone de saisie.

Le système de script fournit une gamme de composants permettant de créer des interfaces utilisateur simples ou complexes pour les scripts. Tous les composants pouvant être placés sur un formulaire se trouvent dans le panneau « Palette d’outils ».

Pour placer un composant sur un formulaire, repérez son icône dans le Tool Palette panneau et double-cliquez dessus. Cette action place le composant sur le formulaire actif à sa position par défaut, avec sa largeur et sa hauteur par défaut. La représentation visuelle de la plupart des composants est déterminée par l’ensemble de leurs propriétés associées.

Un composant placé, dans sa position et avec ses dimensions (largeur et hauteur) par défaut, peut être redimensionné ou repositionné à l’aide de la souris ou via le Object Inspector panneau. Lorsqu’un composant est déposé sur un formulaire, le système de script génère automatiquement le code de base nécessaire à son utilisation et met à jour le formulaire de script. Pour que le composant fonctionne sur le formulaire, il suffit ensuite de définir ses propriétés, d’insérer du code dans les gestionnaires d’événements et d’utiliser les méthodes selon les besoins.

Conception de formulaires de script

Un formulaire de script est conçu pour interagir avec un utilisateur au sein de l’environnement Altium Designer. La conception de formulaires de script est au cœur du développement visuel dans Altium Designer.

Chaque composant placé sur un formulaire de script et chaque propriété définie sont stockés dans un fichier décrivant le formulaire (un *.dfm fichier) et est lié au code de script associé (le *.vbs fichier). Ainsi, pour chaque formulaire de script, il existe un *.vbs fichier et le *.dfm fichier.

Lorsque vous travaillez avec un formulaire de script et ses composants, vous pouvez accéder à ses propriétés et les modifier à l’aide du Object Inspector panneau. Il est possible de sélectionner plusieurs composants en cliquant dessus tout en maintenant la touche Maj enfoncée, ou en faisant glisser un rectangle de sélection autour des composants sur le formulaire de script. Un formulaire de script possède un titre associé à la Caption propriété du Object Inspector panneau.

Création d’un nouveau formulaire de script

Une fois un projet de script ouvert, cliquez avec le bouton droit sur le projet dans le Projects panneau et sélectionnez l’option Add New to Project puis les VB Script Form éléments dans les menus contextuels. Un nouveau formulaire de script est créé avec le EditScript1.vbs . Vous pouvez également, dans un *.PrjPCB projet, sélectionnez File » New » Script Files » VB Script Form commande.

Affichage d’un formulaire de script

Un script doit comporter une routine qui affiche le formulaire lorsque celui-ci est exécuté dans Altium Designer. Au sein de cette routine, la ShowModal méthode du formulaire est appelée. La Visible doit être définie sur « false » (décochée) pour que la méthode du formulaire de script ShowModal fonctionne correctement.

Exemple ShowModal

Sub RunDialog
  DialogForm.ShowModal
End Sub

L' ShowModal est un moyen simple d’afficher le formulaire de script lorsque la RunDialog boîte de dialogue du script est appelée. Notez que des valeurs peuvent être attribuées aux composants de l’ DialogForm objet avant que la DialogForm.ShowModal méthode ne soit appelée.

L’ ModalResult exemple présenté ci-dessous est plus complexe. Ses dernières méthodes sont utilisées pour les boutons du formulaire de script. Les méthodes de script provoquent la fermeture de la boîte de dialogue lorsqu’un utilisateur clique soit sur le OK ou Cancel , ce qui renvoie mrOk ou mrCancel respectivement à partir de la ShowModal méthode.

ModalResult Example

sub bOKButtonClick(Sender)
  ModalResult := mrOK
end sub
 
sub bCancelButtonClick(Sender)
  ModalResult := mrCancel
end sub
 
sub RunShowModalExample
  'Form Visible property must be false for ShowModal to work properly.
  If Form.ShowModal = mrOk     Then ShowMessage("mrOk")
  If Form.ShowModal = mrCancel Then ShowMessage("mrCancel")
end sub

On pourrait obtenir le même résultat qu’au paragraphe précédent en définissant la ModalResult valeur à mrOk pour le OK bouton et à mrCancel pour le Cancel dans leurs gestionnaires d’événements. Lorsqu’un utilisateur clique sur l’un ou l’autre de ces boutons, la boîte de dialogue se ferme. Il n’est pas nécessaire d’appeler la Close méthode, car lorsque la ModalResult méthode a été définie, le moteur de script ferme automatiquement le formulaire de script.

Notez que pour définir la méthode ModalResult à annuler lorsqu’un utilisateur appuie sur la Esc touche, il faut définir la Cancel propriété « Annuler » du bouton sur « true » (cochée) dans le Object Inspector panneau, ou insérez Sender.Cancel := True dans le gestionnaire d'événements du bouton CancelButtonClick .

Prise en charge des entrées utilisateur

L'un des composants courants permettant d'accepter les entrées d'un utilisateur est le EditBox . Ce EditBox composant dispose d’un champ de texte dans lequel l’utilisateur peut saisir une chaîne de caractères. Il existe également d’autres composants capables d’accepter du texte, tels que le composant d’édition masqué, qui est un composant d’édition doté d’un masque de saisie pour le champ de texte. Le masque contrôle, ou filtre, la saisie et est stocké dans une chaîne de paramètres.

L’exemple ci-dessous illustre ce qui se passe lorsqu’un utilisateur clique sur le bouton après avoir saisi du texte dans la zone d’édition. Notez que si un utilisateur n’a saisi aucun texte dans le composant d’édition, le gestionnaire d’événements répond par un message d’avertissement

sub TScriptForm.ButtonClick(Sender)
  If Edit1.Text = "" Then
  ShowMessage("Warning - empty input!")
  Exit
  End
  ' do something else for the input
End sub

Notez qu’un utilisateur peut déplacer le focus de saisie sur le formulaire à l’aide de la Tab ou en cliquant sur un autre contrôle du formulaire.

Réponse aux événements

Lorsqu’un formulaire ou un composant est sélectionné par un utilisateur, Altium Designer envoie un message au système de script, qui répond à la notification d’événement en appelant la méthode de gestionnaire d’événements appropriée.

Écriture de gestionnaires d’événements

Un script peut être amené à répondre à des événements susceptibles de se produire sur un composant lors de l’exécution. Un événement est un lien entre un incident dans Altium Designer, tel que le clic sur un bouton, et un fragment de code qui répond à cet incident. Le code de réponse est un gestionnaire d’événements, qui modifie les valeurs des propriétés et appelle des méthodes.

Outre les propriétés d’un composant, chacun dispose d’un ensemble de noms d’événements. Un programmeur de scripts décide de la manière dont il réagira aux actions d’un utilisateur dans Altium Designer. Par exemple, lorsqu’un utilisateur clique sur un bouton d’un formulaire, Altium Designer envoie un message au script et celui-ci réagit à ce nouvel événement — si l’ OnClick événement associé à un bouton est défini, celui-ci est exécuté.

Tous ces composants disposent également d’un événement pour l’obtention et la perte du focus. Cependant, si le code pour OnEnter et OnExit n’est pas spécifié (OnEnter - le contrôle a le focus ; OnExit - le contrôle perd le focus), l’événement sera ignoré par le script.

Propriétés des composants

Pour afficher la liste des propriétés d’un composant, sélectionnez-le puis ouvrez l’onglet Properties onglet dans le Object Inspector panneau.

Événements du composant

Pour afficher la liste des événements auxquels un composant peut réagir, sélectionnez un composant et ouvrez l' Events onglet dans le Object Inspector panneau. Pour créer une procédure de gestion d’événement à laquelle un composant doit réagir, choisissez un événement approprié et double-cliquez sur son nom.

Par exemple, sélectionnez le Button1 composant dans le Tool Palette panneau, déposez-le sur le formulaire de script, puis double-cliquez à côté du OnClick nom de l’événement. Le système de script reviendra à l’éditeur de code, où le squelette du code de l’ OnClick événement aura été généré. Si un bouton dispose d’une Close méthode dans son CloseClick gestionnaire d’événements, lorsque l’on clique sur ce bouton, son gestionnaire d’événements capture l’événement « on-click », et le code contenu dans ce gestionnaire est exécuté. Autrement dit, la Close méthode ferme le formulaire de script.

En résumé, un gestionnaire d’événement est créé dans un script en sélectionnant un composant du formulaire, ou à l’aide du Object Inspector panneau, puis en double-cliquant à droite de l’événement souhaité (par exemple, OnClick) dans l’onglet Events — la structure de code appropriée apparaîtra alors dans le script.

Sinon, en double-cliquant sur un bouton, le système de script ajoutera un gestionnaire pour un OnClick événement. D’autres types de composants auront des actions par défaut totalement différentes.

Méthodes des composants

Consultez la Référence des composants pour obtenir la liste des méthodes d’un composant, et reportez-vous à la documentation Embarcadero Delphi pour des informations plus détaillées.

Création de composants à l’exécution

Les composants peuvent être directement créés et détruits dans un script. En règle générale, il n’est pas nécessaire de passer le descripteur du formulaire, car le script s’en charge automatiquement ; passez plutôt un Nil paramètre au constructeur du composant.

Par exemple, le Open et Save peuvent être créés et détruits (le TOpenDialog et TSaveDialog , qui font partie de la RTL de Delphi).

AI-LocalizedLocalisé par IA
Si vous trouvez un problème, sélectionnez le texte/l’image et appuyez surCtrl + Entréepour nous envoyer vos commentaires.
Disponibilité des fonctionnalités

Les fonctionnalités auxquelles vous avez accès dépendent de la solution Altium dont vous disposez – Altium Develop, Altium Agile Teams, Altium Agile Enterprise, ou Altium Designer (avec un abonnement actif).

Si vous ne voyez pas une fonctionnalité documentée dans votre logiciel actuel, contactez le service commercial d’Altium pour en savoir plus.

Documentation héritée

La documentation d’Altium Designer n’est plus versionnée. Si vous devez accéder à la documentation des versions antérieures d’Altium Designer, consultez la section Documentation héritée de la page Other Installers.

Contenu