Bonjour,
J'ai cherché un peu partout mais je n'ai rien trouvé qui réponde ou qui me permette de régler mon problème...
En fait je veux imprimer une TStringGrid (problème récurrent ) assez grande, et dont chaque cellule bénéficie d'une mise en page relativement complexe (multiligne, wordwrap etc...). Ma fonction marche plutôt bien, mais j'ai un problème avec la taille de ce que j'imprime. En effet, j'imprime les cases proprement dites avec la méthode Rectangle() du canvas de mon object TPrinter, et le texte qui va dans ce rectangle avec la méthode TextRect(). En reprenant strictement les mêmes valeurs pour la taille des polices et la taille de mes rectangles que celles de ma StringGrid d'origine, j'imprime le texte à la bonne taille, mais les cases de ma grille sont ridiculement petites.
Me basant sur un post de ce forum sur le meme sujet, j'ai appliqué un facteur en dur sur la taille de mon rectangle, mais j'aimerais pouvoir déterminer ce facteur au moment de l'exécution, car j'imagine qu'il dépend de la résolution de l'imprimante.
J'ai essayé de récupérer les infos de résolution via la méthode TPrinter::GetPrinter() mais je ne vois pas comment utiliser les valeurs obtenues...
Quelqu'un aurait il une suggestion sur le calcul exact de ce coef, afin d'être sûr que la mise en page de ma grille soit concervée? (j'ai déjà assez lutté pour la réaliser )
Par avance merci
Arnaud
[EDIT: Merci ovh et Pasqualini, ca marche tout bien, meme si je ne comprend tjrs pas pourquoi ma solution ne marchait pas... enfin... ]
Partager