IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Changement de style par programmation


Sujet :

WinDev

  1. #1
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut Changement de style par programmation
    Bonjour,

    J'aimerai savoir si il existe un moyen pour changer de style d'un champ sans utiliser les Gabarits.

    J'aimerai suivant un paramètre changer le style de mes champs.

    Une solution est d'avoir dans un plan tous les styles de champs, et par programmation faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonChamp1..style = MonChamp2..style
    Sauf que là on est bon pour une fenêtre mais QUID des autres fenêtres du projet. Mettre a chaque fois tous les champs dans un plan ? Un peu lourd..

    J'ai essayé d'associer un Style au projet sans le rattacher à un gabarit et en utilisant la fonction

    sauf que le style doit être rattacher à un gabarit.. Alors oui ca serai bien d'avoir deux gabarits et de faire un changeGabarit suivant le besoin, mais je me demande si il y a pas une autre astuce pour pouvoir gérer ça par programmation correctement.
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

  2. #2
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 804
    Points : 5 251
    Points
    5 251
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Lors de la création d'un projet, outre le style du gabarit (.WDY) tu as une feuille de style associée au projet (.STY) ainsi que le gabarit propre au projet (NomProjet.WDY.)
    C'est ce fichier que nous allons modifier.
    Si le projet est associé au GDS, il faut extraire la feuille via GDS/Feuille de style (tout à droite)
    Dans le menu contextuel d'un champ, tu as l'option "choisir un style". C'est dans cette fenêtre que tu peux créer/modifier les styles du champ.
    Il suffira alors d'utiliser la fonction ChangeStyle en precisant que le gabarit est NomProjet.WDY
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  3. #3
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut
    Super ca avance ! En effet un projet génère un fichier .WDY propre à lui
    Donc la j'arrive avec la fonction changeStyle à faire se que je souhaite. Par contre, tout cette gestion est faite dans un composant. (la je faisais mes test dans un projet (non composant) test à coté)

    Je viens de vérifier mais pour un composant il n'y a pas de .WDY de générer, quand bien même ce fichier aurait du être déposer dans le dossier des projets qui l'utilise ? Enfin le fichier n'existe pas apparemment..
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

  4. #4
    Expert confirmé
    Avatar de Voroltinquo
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2017
    Messages
    2 804
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chef de projet en SSII

    Informations forums :
    Inscription : Juin 2017
    Messages : 2 804
    Points : 5 251
    Points
    5 251
    Billets dans le blog
    1
    Par défaut
    Tu peux éventuellement créer ton WDY "à part" et inclure son chemin dans le .WDO de ton composant
    Il y a peut-être plus simple, mais ça tourne.
    Quand tout a échoué utilisez l'option RTFM

  5. #5
    Membre confirmé Avatar de Nhaps
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2011
    Messages
    350
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2011
    Messages : 350
    Points : 603
    Points
    603
    Par défaut
    Je ne connaissais pas ces fichiers .WDO
    Si j'ai bien compris c'est un fichier qui énumère tous les fichiers qui devront être livrés avec le composant ?

    Au final j'ai pris les gabarits car avec uniquement les feuilles de styles, je n'avais pas les images... Donc j'ai bien plusieurs gabarits dans mon environnement.
    J'appelle la fonction changeStyle pour chaque champ où je veux changer le style.
    Par contre pour le second paramètre, où il faut que je sache le nom du champ pour ma feuille de style ça devient un peu lourd..
    En effet, comment savoir par programmation quel champ choisir. Quels astuces ?

    - Le nom du style peut il être connu ?
    - Avoir en BDD toutes les infos pour connaitre le champs à utiliser pour tel type de champ ?

    Je crois qu'au final je vais utilisé ChangeGabarit

    D'ailleurs est ce normal que lors d'un changeGabarit les champs en affichage seul ne sont pas correctement changé ? Je n'ai pas par exemple la zone grise, alors que dans le gabarit utlisé il y un bien un champ Sai_Affichage_Seul avec la zone grise...
    Windev 23 - SQL SERVER - PHP
    Play : TFT - Jeux indé

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/05/2013, 10h19
  2. Réponses: 4
    Dernier message: 31/01/2013, 13h05
  3. Changement type clavier par programme
    Par HASSIOMAR dans le forum Langage
    Réponses: 2
    Dernier message: 01/06/2011, 18h37
  4. Changement de style par le code
    Par Ornitho76 dans le forum Windows Presentation Foundation
    Réponses: 3
    Dernier message: 20/02/2009, 10h28
  5. [GridView]Créer un gridview et ses Styles par programme
    Par fragmonster dans le forum ASP.NET
    Réponses: 1
    Dernier message: 02/04/2007, 15h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo