1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
|
w_indice est un entier
w_largeur_table,w_largeur_colonnes,w_largeur_ancrage sont des entiers
w_colonne est une chaîne
w_tab_ancrage est un tableau de 0 par 2 chaîne
//On récupère la largeur du champ table - 15 pixels (largeur de l'ascenseur vertical)
w_largeur_table = {P_table,indChamp}..Largeur - 15
//Pour toutes les colonnes du champ table
POUR w_indice = 1 _A_ TableOccurrence({P_table,indChamp},toColonne)
//Récupération du nom de la colonne
w_colonne = TableEnumèreColonne({P_table,indChamp},w_indice)
//Si la colonne est invisible on ne la traite pas
SI {w_colonne,indChamp}..Visible = Faux ALORS CONTINUER
//Si un ancrage est définit il faut le sauvegarder pour le remettre après
SI {w_colonne,indChamp}..TauxAncrageLargeur > 0 ALORS
//On remet la largeur initiale à la colonne, l'ancrage a déjà été effectué, la colonne a déjà été agrandie
{w_colonne,indChamp}..Largeur = {w_colonne,indChamp}..LargeurInitiale
TableauAjouteLigne(w_tab_ancrage,w_colonne,{w_colonne,indChamp}..TauxAncrageLargeur)
FIN
//On cumul la largeur des colonnes
w_largeur_colonnes += {w_colonne,indChamp}..Largeur
FIN
//On définit la largeur de l'ancrage
w_largeur_ancrage = w_largeur_table - w_largeur_colonnes
//Si cette largeur est positive
SI w_largeur_ancrage > 0 ALORS
//On agrandie toutes les colonnes disposant d'un ancrage
POUR w_indice = 1 _A_ TableauOccurrence(w_tab_ancrage)
//Le taux d'ancrage est sauvegardé en base 1000, 100% = 1000
{w_tab_ancrage[w_indice,1],indChamp}..Largeur += Val(w_tab_ancrage[w_indice,2]) / 1000 * w_largeur_ancrage
FIN
FIN |
Partager