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 :

Ancrage "Répartition Horizontale" [WD16]


Sujet :

WinDev

  1. #1
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut Ancrage "Répartition Horizontale"
    Bonjour,
    Je voudrais faire un ancrage "répartition horizontale".
    A ce que j'ai compris, cela permet d'agrandir un groupe de champs selon leurs proportions :
    S'il y a à côté :
    - Un espace de 10% de la fenêtre
    - Un champ de 20% de la fenêtre
    - Un champ de 40% de la fenêtre
    - Un espace de 30% de la fenêtre
    Alors que la fenêtre fasse 1024 pixels de largeur ou 1280, on aura les mêmes proportions.
    Celà dit lorsque je sélectionne mes champs, dans IHM / Ancrage / La case "répartition horizontale" est grisée.. j'ai tout essayé je ne parviens pas à comprendre les conditions pour que cette case soit active...
    J'ai pourtant essayé sur une fenêtre test tout bidon...

    J'avoue que ce serait plus simple que de calculer le pourcentage de largeur de chaque champ, définir les ancrages et faire pareil pour toutes les lignes...

    Amicalement,

    Eric.

  2. #2
    Membre éclairé
    Homme Profil pro
    Inscrit en
    Avril 2005
    Messages
    276
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 276
    Points : 739
    Points
    739
    Par défaut
    Bonjour,

    Voir la page d'aide sur les ancrages : http://doc.pcsoft.fr/fr-FR/?2026002&...ns-une-fenetre

    1. Pour que ce type d'ancrage soit disponible dans la fenêtre, il faut sélectionner au moins 2 champs (une répartition se fait sur plusieurs champs).
    En tout cas, ça fonctionne en 17.

    2. Personnellement, je n'utilise jamais cette option (je la découvre en fait ^^).
    Je calcule moi-même les % d'ancrage (largeur, hauteur, en bas, à droite) : c'est accessible quand on clic sur le bouton "flèche" (en bas) de la fenêtre d'ancrage...
    Et c'est visiblement ce que vous souhaitez faire :
    J'avoue que ce serait plus simple que de calculer le pourcentage de largeur de chaque champ, définir les ancrages ...

  3. #3
    Membre éprouvé Avatar de WDKyle
    Homme Profil pro
    Analyste-Programmeur
    Inscrit en
    Septembre 2008
    Messages
    1 200
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste-Programmeur

    Informations forums :
    Inscription : Septembre 2008
    Messages : 1 200
    Points : 962
    Points
    962
    Par défaut
    Bonjour,

    J'ai eu ce soucis, il y à quelques temps ! Voici le sujet qui à résolu mes problèmes : http://www.developpez.net/forums/d10...olution-ecran/

    Bonne journée

  4. #4
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    J'ai fait ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Largeur est un réel = MaFenêtre..Largeur / MaFenêtre..LargeurInitiale
    COMBO_Marque..Largeur = COMBO_Marque..LargeurInitiale * Largeur
    COMBO_Marque..X = COMBO_Marque..XInitial * Largeur
    ...
    Et appliquer ces 2 lignes de code à chaque champ.

    Il faut bien sûr mettre ce code dans "a chaque modification de ma fenêtre".

    Le code ne variant pas pour chaque champ, on peut effectivement utiliser :

    EnumèreChamp, avec "TANTQUE" windev trouve un champ il applique mes 2 lignes de code.

  5. #5
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    Ah mince je coince...

    J'ai tapé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Largeur est un réel = MaFenêtre..Largeur / MaFenêtre..LargeurInitiale
    i est un entier
    ResChamp est une chaîne = EnumèreChamp(MaFenêtre,1)
    TANTQUE ResChamp<>""
    	ResChamp..Largeur = ResChamp..LargeurInitiale * Largeur
    	ResChamp..X = ResChamp..XInitial * Largeur
    	i++
    	ResChamp = EnumèreChamp(MaFenêtre, i)
    FIN
    Seulement il couine car ResChamp..Largeur il refuse car "ResChamp" n'est pas un champ... Comment lui faire comprendre la chose ?

    Eric.

  6. #6
    Expert confirmé
    Homme Profil pro
    ?
    Inscrit en
    Juillet 2002
    Messages
    2 378
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : ?

    Informations forums :
    Inscription : Juillet 2002
    Messages : 2 378
    Points : 4 494
    Points
    4 494
    Par défaut
    Bonjour
    Citation Envoyé par EriCstoFF
    Comment lui faire comprendre la chose ?
    en utilisant les indirections, par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {ResChamp,indChamp}..Largeur

  7. #7
    Membre habitué
    Inscrit en
    Juin 2009
    Messages
    346
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 346
    Points : 163
    Points
    163
    Par défaut
    {ResChamp,indChamp}..Largeur = ...
    Désolé :p

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quote et double quote
    Par aktos dans le forum Langage
    Réponses: 8
    Dernier message: 05/01/2007, 19h55

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