DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Fonctions WLangage / Champs, pages et fenêtres / Fonctions de gestion des fenêtres
  • Ne pas appliquer le gabarit à une des fenêtres du projet
  • Fichier ".WDY"
  • Déploiement d'une application
  • Police de caractères
  • Style des champs
  • Fenêtres internes
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Change dynamiquement le gabarit :
  • de toutes les fenêtres de l'application en cours,
  • des fenêtres présentes dans les composants WINDEV utilisés par l'application,
  • d'une fenêtre spécifique du projet.
Attention :
  • Cette fonction n'a aucune influence sur les gabarits appliqués à un état.
  • Cette fonction n'a aucune influence sur les fenêtres détourées. Le gabarit n'est pas modifié.
Exemple
// Utilisation du gabarit "Mer" pour toutes les fenêtres de l'application
ChangeGabarit("", "C:\MonAppli\Mer.WDY")
// Utilisation du gabarit "Emeraude" pour la fenêtre en cours
ChangeGabarit(MaFenêtre.Nom, "Emeraude.WDY")
Syntaxe
<Résultat> = ChangeGabarit(<Elément à modifier> , <Nouveau gabarit> [, <Procédure WLangage>])
<Résultat> : Booléen
  • Vrai si le gabarit a été modifié,
  • Faux en cas de problème.
<Elément à modifier> : Constante ou chaîne de caractères
Ce paramètre peut correspondre :
"" (chaîne vide)Le nouveau gabarit sera appliqué à toutes les fenêtres de l'application en cours (y compris les fenêtres présentes dans les composants WINDEV manipulés par l'application).
Dans un assemblage .NET généré avec WINDEV, le nouveau gabarit sera appliqué à toutes les fenêtres de l'assemblage en cours et à toutes les fenêtres des assemblages .NET WINDEV qui sont chargés en parallèle par l'application.
TousLesComposantsLe nouveau gabarit sera appliqué uniquement aux fenêtres présentes dans tous les composants WINDEV manipulés par l'application
"<Nom de la fenêtre>"Le nouveau gabarit sera appliqué uniquement à la fenêtre spécifiée
<Nouveau gabarit> : Chaîne de caractères
Nom du gabarit à appliquer (nom et chemin si nécessaire du fichier "*.WDY"). Si ce paramètre correspond à une chaîne vide ("") :
  • le gabarit appliqué sera celui défini par défaut sous l'éditeur de fenêtres.
    Attention : Si un gabarit a été dynamiquement appliqué avec la fonction ChangeGabarit, ce gabarit dynamique sera conservé.
  • les fenêtres déjà ouvertes conserveront le gabarit actuel.
<Procédure WLangage> : Nom de procédure optionnel
Procédure WLangage (également nommée "callback") appelée quand le gabarit est appliqué sur une fenêtre interne suite à l'appel de la fonction ChangeFenêtreSource.
Cette procédure est de la forme :
PROCEDURE <Nom de la Procédure>(<Fenêtre interne destination>, <Gabarit>)
où :
  • Le paramètre <Fenêtre interne destination> est une variable de type Champ correspondant à la fenêtre interne sur laquelle le gabarit est appliqué.
  • Le paramètre <Gabarit> est une chaîne correspondant au nom du gabarit utilisé.
Remarques

Ne pas appliquer le gabarit à une des fenêtres du projet

Pour ne pas appliquer le gabarit dynamiquement sur une des fenêtres du projet :
  1. Afficher la fenêtre de description de la fenêtre concernée.
  2. Dans l'onglet "Style", cochez l'option "Toujours conserver le style/gabarit d'origine".
  3. Validez.

Fichier ".WDY"

La description d'un gabarit est contenue dans un fichier ".WDY".
Les fichiers ".WDY" correspondant aux gabarits proposés par WINDEV sont livrés avec WINDEV.
Remarques :
  • Lors de la création d'un gabarit, le fichier ".WDY" est automatiquement créé.
  • Pour générer le fichier ".WDY" d'un gabarit existant, ouvrez le fichier "<NomDuGabarit>.STY" sous WINDEV et enregistrez ce fichier (Icône d'enregistrement).

Déploiement d'une application

Lors de la création du programme d'installation de votre application, les éléments suivants doivent être ajoutés dans la liste des éléments à installer :
  • le fichier ".WDY" correspondant au nouveau gabarit appliqué par la fonction ChangeGabarit.
  • les fichiers images utilisés par le nouveau gabarit appliqué par la fonction ChangeGabarit.
Attention : Les images doivent avoir des noms différents dans les différents gabarits utilisés sinon ces images ne seront pas modifiées. Dans le cas des boutons, l'image du bouton n'est pas concernée par le changement, seule l'image du cadre est remplacée par celle du gabarit.
Remarque : Pour ajouter un ou des éléments à la liste des éléments d'un projet :
  1. Sous le volet "Projet", dans le groupe "Projet", déroulez "Liste des éléments" et sélectionnez "Liste des éléments du projet".
  2. Cliquez sur le bouton "Ajouter".
  3. Sélectionnez le ou les fichiers à ajouter et validez.

Police de caractères

Le changement dynamique de gabarit n'a pas d'effet sur les polices de caractères des libellés. En effet, un changement systématique de la police de caractères peut provoquer des effets d'affichage (libellés tronqués ou superpositions) car la largeur des libellés change avec la police de caractères.
Si l'application d'un gabarit par programmation doit être accompagnée d'un changement de police, utilisez la propriété Police en complément de la fonction ChangeGabarit.

Style des champs

La fonction ChangeGabarit change dynamiquement le gabarit de TOUS les champs (champs liés à un style du projet ou champs dissociés). Pour appliquer un style d'un gabarit uniquement à certains champs, utilisez la fonction ChangeStyle sur les champs concernés.
Remarque : Il est également possible de copier le style d'un champ vers un autre grâce à la propriété Style.

Fenêtres internes

Les fenêtres internes disposent des événements optionnels "Avant changement de gabarit" et "Après changement de gabarit".
Ces événements permettent par exemple de mémoriser et de réappliquer des propriétés spécifiques aux champs présents dans la fenêtre interne lors du changement de gabarit. Il est également possible par exemple de modifier une ou plusieurs caractéristiques des champs en fonction du gabarit appliqué. Pour plus de détails, consultez Evénements associés aux fenêtres internes.
Liste des exemples associés :
WD Changement Gabarits Exemples didactiques (WINDEV) : WD Changement Gabarits
[ + ] L’exemple “WD Changement Gabarits” présente une solution de changement dynamique de gabarits par les utilisateurs.
Composante : wd300obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Changement de police
J'observe bien un changement de police et de taille de police lors de l'utilisation de la fonction. L'image du fond des boutons est également modifiée. Certains éléments (fonds des combo) ne changent pas, sans comprendre la raison (projet avec 1 fenêtre et 3 contrôles, gabarits standards). Fonctionnalité inopérante donc.
Gonzague DUCOS
17 jan. 2020

Dernière modification : 14/09/2024

Signaler une erreur ou faire une suggestion | Aide en ligne locale