Problème Impression [win32] - C - Programmation
Marsh Posté le 13-11-2005 à 17:18:13
Pour moi le problème est là:
Code :
|
La taille de la police doit être calculée en fonction de la résolution du DC. La MSDN donne la formule de conversion à partir de la taille en point que tu souhaites pour ta police. Voir la section "Police de caractères" de la MSDN. La formule met en jeu GetDeviceCaps(LOGPIXELY) et un ratio 72 si j'ai bonne mémoire.
Il doit exister une fonction CreatePointFont ou alors est-ce en MFC ? Enfin bref cherche dans la MSDN.
Edit: non CreatePointFont est dans les MFC pas dans la Win32. La formule dont j'ai parlé:
nHeight = -MulDiv(PointSize, GetDeviceCaps(hDC, LOGPIXELSY), 72); |
La page de la MSDN
Mais en regardant le code en détail, j'ai détecté un autre problème potentiel :
Code :
|
La bonne façon de faire (de mémoire):
Code :
|
Marsh Posté le 13-11-2005 à 18:23:37
Bonsoir,
J'ai effectivement resolu le problème avec la formule preconisée dans MSDN
Code :
|
J'ai également pris bonne note de ta remarque sur le "stylo"
Encore merci.
@+.
Marsh Posté le 14-11-2005 à 11:37:39
A noter que les MFC avec la classe CDC règlent ce problème pour toi (mais rajoute en complexité, ce qui fait qu'on pas si on a gagne au change...)
Ravi d'avoir pu t'aider.
Marsh Posté le 08-11-2005 à 17:29:41
Bonjour,
J'ai visiblement un soucis lié au Device quand j'imprime une liste ...
La sortie dans un PDF est tout a fait correcte mais si je selectionne l'imprimante la taille des caractères du titre et le cadre déssinés sont démesurés !!!
Comment faire face à ce Pb ?
La proc de test est toute simple est la suivante
Merci d'avance.