Bonjour,
Je fait de l'impression d'un tableau de 3 colonnes , je mesure la taille de mon text pour calculer la hauteur de ma cellule ou plutot de la ligne.
[CODE]
float largeur_co;
for (int i = 0; i < listViewCarr.Items.Count; i++)
{
// taille des chaine a mettre ds les 3 cellules
float tailleDomaine = e.Graphics.MeasureString(listViewCarr.Items[i].SubItems[0].Text ,imprFont).Width;
float tailleProfession = e.Graphics.MeasureString(listViewCarr.Items[i].SubItems[1].Text, imprFont).Width;
float tailleSecteur = e.Graphics.MeasureString(listViewCarr.Items[i].SubItems[2].Text , imprFont).Width;
// taille du text le plus grand
float tailleMax = Math.Max(Math.Max(tailleDomaine, tailleProfession), tailleSecteur);
//largeur des colonnes
largeur_col = e.MarginBounds.Width/3
// taille d'une ligne text
int hauteur = (int)MyGr.MeasureString("X", imprFont).Height;
// nombre de lignes text
int nb_lignes_txt = (int) (tailleMax / largeur_col) + 1;
//hauteut de ma ligne
hauteur = hauteur * nb_lignes_txt
tableCase = new Rectangle(0, Ypos, largeur_col, hauteur);
e.Graphics.DrawString(listViewCarr.Items[i].SubItems[0].Text, imprFont, imprBrush, tableCase, imprFormat);
e.Graphics.DrawRectangle(stylo, tableCase);
tableCase = new Rectangle(xBase + largeur_col, Ypos, largeur_col, hauteur);
e.Graphics.DrawString(listViewCarr.Items[i].SubItems[1].Text, imprFont, imprBrush, tableCase, imprFormat); e.Graphics.DrawRectangle(stylo, tableCase);
tableCase = new Rectangle(xBase + largeur_col*2, Ypos, t largeur_col, hauteur);
e.Graphics.DrawString(listViewCarr.Items[i].SubItems[2].Text, imprFont, imprBrush, tableCase, imprFormat);
e.Graphics.DrawRectangle(stylo, tableCase);
Ypos += hauteur;
}
[/CODE]
le probleme c'est que dans certain cas ma varaible "nb_lignes_txt" n'est pas exacte 1.9... au lieu 2.0124. et il me manque donc une ligne et il coupe, je ne vois pas ou est l'erreur de calcul.
peut etre a cause des blanc qu'il rajoute dans la mise en forme:
"il fait beau ce matin" :21 caractere
il fait beau ce __
matin_________ : 32 caractere.
mais si c est ca comment mesurer la taille du text mise en forme a la fin. :heink: