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 thème à 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 thème:
  • 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 thèmes appliqués à un état.
  • Cette fonction n'a aucune influence sur les fenêtres détourées. Le thème n'est pas modifié.
Exemple
// Utilisation du gabarit "Mer" pour toutes les fenêtres de l'application
ChangeGabarit("", "C:\MonAppli\Mer.WDY")
// Utilisation du thème "Emeraude" pour la fenêtre en cours
ChangeGabarit(MaFenêtre.Nom, "Emeraude.WDY")
Syntaxe
<Résultat> = ChangeGabarit(<Elément à modifier> , <Nouveau thème> [, <Procédure WLangage>])
<Résultat> : Booléen
  • Vrai si le thème 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 thème 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 thème 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 thème 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 thème sera appliqué uniquement à la fenêtre spécifiée
<Nouveau thème> : Chaîne de caractères
Nom du thème à appliquer (nom et chemin si nécessaire du fichier "*.WDY"). Si ce paramètre correspond à une chaîne vide (""):
  • le thème appliqué sera celui défini par défaut sous l'éditeur de fenêtres.
    Attention: Si un thème a été dynamiquement appliqué avec la fonction ChangeGabarit, ce thème dynamique sera conservé.
  • les fenêtres déjà ouvertes conserveront le thème actuel.
<Procédure WLangage> : Nom de procédure optionnel
Procédure WLangage (également nommée "callback") appelée quand le thème 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 <Thème> est une chaîne correspondant au nom du thème utilisé.
Remarques

Ne pas appliquer le thème à une des fenêtres du projet

Pour ne pas appliquer le thème 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/thème d'origine".
  3. Validez.

Fichier ".WDY"

La description d'un thème est contenue dans un fichier ".WDY".
Les fichiers ".WDY" correspondant aux thèmes proposés par WINDEV sont livrés avec WINDEV.
Remarques:
  • Lors de la création d'un thème, le fichier ".WDY" est automatiquement créé.
  • Pour générer le fichier ".WDY" d'un thème existant, ouvrez le fichier "<NomDuThème>.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 thème appliqué par la fonction ChangeGabarit.
  • les fichiers images utilisés par le nouveau thème appliqué par la fonction ChangeGabarit.
Attention: Les images doivent avoir des noms différents dans les différents thèmes 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 thème.
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 thème 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 thème 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 thème de TOUS les champs (champs liés à un style du projet ou champs dissociés). Pour appliquer un style d'un thème 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 thème" et "Après changement de thème".
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 thème. Il est également possible par exemple de modifier une ou plusieurs caractéristiques des champs en fonction du thème appliqué. Pour plus de détails, consultez Evénements associés aux fenêtres internes.
Composante: wd300obj.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/03/2025

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