element1488
Messages postés7Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention18 décembre 2005
-
24 sept. 2005 à 05:02
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 2006
-
28 sept. 2005 à 01:36
Bonjour à tous,
J'ai besoin d'imprimer un texte verticalement sur l'objet printer.
J'ai essayé avec createfont en modifier les propriétés et ça fonctionne si j'imprime sur un form mais pas sur l'imprimante.
C'est quoi le truc que j'ai pas compris ??
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 24 sept. 2005 à 06:05
Comment est ce que tu écris verticalement? tu peux faire passer le code?
Moi, pour le faire, j'écris mon texte dans une picture, et en passant par pas mal de ligne de code, je l'incline
sur ma forme, ca passe, et quand j'imprime aussi.
Si ca t'intéresse, et si ya pas mieux, je mets le code ici. (je ne veux pas encombrer, si ya mieux)
seulement, j'ai un blême que je n'arrive pas à résoudre, c'est que quand je réduis la forme, ou si elle passe
derrière une autre forme, ou un msgbox, mon texte s'efface (comme la gomme de paint)
en passant, si on peut m'aider a trouver comment résoudre cela.
element1488
Messages postés7Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention18 décembre 2005 24 sept. 2005 à 20:15
Merci pour les réponses
P_ROMEO:
Essai de mettre la propriété AutoRedraw à True, ça marche pour moi.
Voici le code que j'utilise, il n'est pas de moi, il m'a été donné par un ami.
''''''''''''''''DECLARATIONS'''''''''''''''''''''
Const LF_FACESIZE = 32
Private Type LOGFONT
lfHeight As Long
lfWidth As Long
lfEscapement As Long
lfOrientation As Long
lfWeight As Long
lfItalic As Byte
lfUnderline As Byte
lfStrikeOut As Byte
lfCharset As Byte
lfOutPrecision As Byte
lfClipPrecision As Byte
lfQuality As Byte
lfPitchAndFamily As Byte
lfFaceName As String * LF_FACESIZE
End Type
Private Declare Function SetGraphicsMode Lib "gdi32" (ByVal hdc As Long, _
ByVal iMode As Long) As Long
Private Declare Function MulDiv Lib "kernel32" (ByVal nNumber As Long, _
ByVal nNumerator As Long, ByVal nDenominator As Long) As Long
Private Declare Function GetDeviceCaps Lib "gdi32" (ByVal hdc As Long, _
ByVal nIndex As Long) As Long
Private Declare Function CreateFontIndirect Lib "gdi32" Alias "CreateFontIndirectA" _
(lpLogFont As LOGFONT) As Long
Private Declare Function SelectObject Lib "gdi32" (ByVal hdc As Long, _
ByVal hObject As Long) As Long
Private Declare Function DeleteObject Lib "gdi32" (ByVal hObject As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, _
Source As Any, ByVal bytes As Long)
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub PrintRotatedText(PB As Object, ByVal Text As String, _
Optional ByVal angle As Integer = -900, Optional x As Variant, _
Optional y As Variant)
Dim hfont As Long
Dim holdfont As Long
Dim Font As LOGFONT
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
DARKSIDIOUS:
J'ai essayé tous les Scalemode et ça ne fonctionne toujours pas.
Ça commence à être un peu déprimant :-)
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 25 sept. 2005 à 00:46
Je pensais t'aider, et voila que tu résouds mon problème en une action. j'ai mis AutoRedraw a true, et ca marche.
Et, ton code et celui que j'utilise sont presque identique. moi je l'ai pris sur le site. si toi aussi, alors pourquoi
avoir modifié certaine ligne.?
Vous n’avez pas trouvé la réponse que vous recherchez ?
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 26 sept. 2005 à 23:53
Bonsoir!
VOILA, maintenant j'ai ton problème. et n'arrive pas à le résoudre. toi, tu l'as résolu?? (je dois rendre mon travail dans 8 jours. ce n'etais vraiment pas le moment de planter. Mais bon, avec moi, c'est toujours comme ca.) Si tu as pu voir d'ou vien l'erreur, fais signe.
DARKSIDIOUS, si c'est cela le problème, comment on peut le résoudre. (je sais, tu as dis que c'est possible que ce soit le problème, non pas que c'est le problème)
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 27 sept. 2005 à 17:21
DARKSIDIOUS , si je te demandes comment faire, c'est parce que j'ai changer la valeur de ScalMode, et pour l'objet printer, et pour le picture box, mais, rien a faire. je ne comprend pas pour quoi ca ne marche pas.
Bone journée
Jai essayé ton code, je ne sais pas pourquoi, mais, sur Dim RotateMe As LOGFONT mon appli s'arrête.
Jai cherché, mais ne sais pas d'ou vient l'erreur.
Mais, en même temps, l'adresse qui est au dessus de cette ligne m'a mené vers un code magnifique. Il est assez grand. Je le mettrais si ça ne dérange pas qu'on prenne un code sur un autre site, et qu'on le copie dans le monde VbFrance.
Ce code permet de faire une capture d'écran, entière, ou seulement la form, ou avec la barre de titre...
et on peut imprimer à la fin.
(je n'ai pas encore fini de l'adapter a mon programme, mais, à première vue, ca passe. espérons qu'il n'y aura pas de problème)
A+ et merci<?xml:namespace prefix o ns "urn:schemas-microsoft-com:office:office" />
element1488
Messages postés7Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention18 décembre 2005 28 sept. 2005 à 01:18
Salut,
Le truc de capturer l'écran et de l'imprimer ça marche avec une imprimante laser ou à haute résolution, mais moi je dois imprimer sur une imprimante d'étiquettes à transfert thermique. Une capture d'écran devient peu lisible à cause de la faible résolution. C'est pour ça que je cherche un truc pour produire une rotation sur l'objet Printer.
Et je cherche et je déprime !!
P__ROMEO
Messages postés294Date d'inscriptionvendredi 25 février 2005StatutMembreDernière intervention 9 mars 20061 28 sept. 2005 à 01:36
Tu as essayé le code de DARKSIDIOUS ?
Moi, j'ai pensé à transférer mes données dans une feuille excel, et, une fois ma table (les données de ma table) dans le fichier, grace à une macro, ou VBA, j'incline le texte voulu, et imprime la feuille. Mais, je ne mettrise pas VBA. si toi tu penses y arriver, ca deverais être assez propre.