| |||||
| Dernière réponse | |
|---|---|
| Sujet : pb impression en VB 6.0 | |
| bensniper | non rien du tout ! L'objet Printer ne nous permet pas de connaitre l'ensemble des possibilités d'une imprimante. Grâce à l'API, GetDeviceCaps, vous aller pouvoir tout connaitre. Public Declare Function GetDeviceCaps Lib "gdi32" _ (ByVal hdc As Long, _ ByVal nIndex As Long _ ) As Long Le tableau ci-dessous vous permet de connaitre les constantes qu'il faut passer à cette API et la signification de la valeur retournée. Ce tableau est loin d'être complet (il y a 5 fois plus de constantes), mais cela vous montre un aperçu des possibilités. CONSTANTE SIGNIFICATION DE LA VALEUR RETOURNEE Public Const HORZSIZE = 4 La largeur en millimètre imprimable. Public Const VERTSIZE = 6 La hauteur en millimètre imprimable. Public Const PHYSICALWIDTH = 110 Largeur en dpi de l'impression (ex une page A4 à 600dpi retourne 600*21cm/2.54=4 961). Public Const PHYSICALHEIGHT = 111 Largeur en dpi de l'impression (ex une page A4 à 600dpi retourne 600*29.7cm/2.54=7 016). Public Const PHYSICALOFFSETX = 112 Distance entre le bord gauche de la page et la zone imprimable (ex s'il retourne 118 à 600dpi : 118*2.54/600=0.5cm). Public Const PHYSICALOFFSETY = 113 Idem ci-dessus mais avec le bord haut. Public Const CC_ROUNDRECT = 256 L'imprimante est-elle capable de dessiner des rectangles arrondis. Public Const RC_BITMAP64 = 8 L'imprimante peut-elle imprimer des bitmaps de plus de 64Ko. Public Const TC_CR_90 = &H8 L'imprimante peut-elle imprimer des textes avec une rotation de 90° Public Const TC_CR_ANY = &H10 L'imprimante peut-elle imprimer des textes avec une rotation de quelconque. Exemple d'utilisation : vous voulez connaitre la marge gauche minimale de votre imprimante (à 600 dpi) : sngMargeGauche = GetDeviceCaps(Printer.hdc,PHYSICALOFFSETX)*2.54/600 le seul truc que j'ai trouvé mais je ne sais pas ce que ca vaut |
| Vue Rapide de la discussion |
|---|