PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV (versões anteriores) → [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 ?
Iniciado por jack31, fev., 19 2018 2:35 PM - 6 respostas
Membro registado
37 mensagems
Popularité : +1 (1 vote)
Publicado em fevereiro, 19 2018 - 2:35 PM
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
Publicado em fevereiro, 20 2018 - 10:16 AM
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.
Membro registado
37 mensagems
Popularité : +1 (1 vote)
Publicado em fevereiro, 20 2018 - 9:40 PM
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
Publicado em fevereiro, 21 2018 - 7:33 AM
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.
Membro registado
54 mensagems
Popularité : +1 (1 vote)
Publicado em fevereiro, 21 2018 - 9:00 AM
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
Publicado em fevereiro, 21 2018 - 9:42 AM
Bonjour Hugotor,

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

Pourquoi ? mystère .....

Michel
Membro registado
37 mensagems
Popularité : +1 (1 vote)
Publicado em fevereiro, 21 2018 - 10:30 AM
@ 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