PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV (précédentes versions) → [WD22] Comment empêcher le redimensionnement d'une colonne de table par programmation ?
[WD22] Comment empêcher le redimensionnement d'une colonne de table par programmation ?
Débuté par jack31, 19 fév. 2018 14:35 - 6 réponses
Membre enregistré
37 messages
Popularité : +1 (1 vote)
Posté le 19 février 2018 - 14:35
Salut tout le monde,
Je bute sur un petit problème et je compte sur votre expérience pour m'aider à trouver une solution.
Je construis dynamiquement le contenu d'une table par ConstruitTableFichier().
Quelqu'un sait-il comment empêcher, PAR PROGRAMMATION, le redimensionnement d'une (ou de plusieurs...) colonnes ?
Les propriétés '..Triable' et '..Déplaçable' existent bien et ça fait le job avec une indirection mais je n'ai pas trouvé l'équivalent pour figer la largeur des colonnes.
Merci par avance.
J@ck
Posté le 20 février 2018 - 10:16
Bonjour,

Pour ma part j'utilise la fonction TableAjuste(Table)
qui va ajuster la largeur de la table au contenu du libellé et au contenu de la colonne.
Membre enregistré
37 messages
Popularité : +1 (1 vote)
Posté le 20 février 2018 - 21:40
Bonjour Miche,
Merci pour ta réponse.
C'est bien cette fonction que j'utilise pour dimensionner les colonnes de la table et, en précisant le format, elle a les dimensions voulues mais cela n'empêche par le redimensionnement par l'utilisateur final.
Ce que je souhaite faire, c'est précisément de figer la largeur des colonnes (ou du moins, de certaines colonnes).
Cordialement,
J@ck
Posté le 21 février 2018 - 07:33
Bonjour jack31

Dans ce cas il faut fixer la largeur de la colonne à la valeur désirée avec : Colonne1..largeur = XXX
à mettre dans le code dimensionnement de la colonne et changement de taille de la table comportant la Colonne1.
Ceci est à faire pour toute les colonnes.

Bonne journée.
Membre enregistré
54 messages
Popularité : +1 (1 vote)
Posté le 21 février 2018 - 09:00
Bonjour,

J'ai déjà utilisé ..LargeurMax et ..LargeurMin

En indiquant
MaColonne..LargeurMin = 50
MaColonne..LargeurMax = MaColonne..LargeurMin
C'est ce qu'il te faut je pense.

Bonne journée.
Hugo
Posté le 21 février 2018 - 09:42
Bonjour Hugotor,

LargeurMax n'existe pas pour des colonnes de table.
par contre LargeurMin existe.

Pourquoi ? mystère .....

Michel
Membre enregistré
37 messages
Popularité : +1 (1 vote)
Posté le 21 février 2018 - 10:30
@ Hugotor : sur une colonne de table, ça m'étonnerait !
Voici le message que j'obtiens en appliquant ta solution :
"La propriété LargeurMax n'existe pas sur le champ _COL1 car il est de type Colonne de table."

@ Miche : Johjo (http://blog.ytreza.org) m'a indiqué sur le slack Windev (https://pcsoft-fr.slack.com/) une technique qui fonctionne parfaitement, même si elle n'est pas très élégante : intercepter l'événement 1743 et renvoyer vers une fonction / procédure qui renvoie 0.

Exemple :
Code d'initialisation de la fenêtre :
Evénement("_InterdireRedimensionnementColonneTable", "*.*", 1743)

Code de la procédure :
FONCTION _InterdireRedimensionnementColonneTable()
RENVOYER 0


Merci à tous les deux.
J@ck