0/5 (12 avis)
Vue 15 291 fois - Téléchargée 1 730 fois
Public Sub Test() Dim cPrintDoc As clsPrinterDocument Dim cLine As clsPrintLine Dim cPTab As clsPrintTab Dim cFoot As clsPrintParagraph Dim cFooter As clsPrintParagraph Dim cHeader As clsPrintParagraph Dim i As Integer On Error GoTo DoPrintDocumentGotError 'Init Set cPrintDoc = New clsPrinterDocument Set cFooter = New clsPrintParagraph Set cHeader = New clsPrintParagraph ' on laisse le pied de document vide mais on ajoute une ligne dans le ' header Set cLine = New clsPrintLine cLine.InitAsText "Exemple de tableaux en couleur", "Courier New", 6, True, True, , True cLine.SetXY 1000, 0 cHeader.AddLine cLine cPrintDoc.Init cHeader, cFooter ' Marge de gauche cPrintDoc.sLeftMargin = 500 ' Affiche le nombre de page en bas à droite cPrintDoc.blnWithPageNumber = True ' Corps du document : Exemple de ligne Set cLine = New clsPrintLine cLine.InitAsText "Intitulé de Document", "Times New Roman", 14, True cLine.SetXY 1000, 100 cPrintDoc.AddPrintableObject cLine ' Corps du document : Exemple de ligne adresse Set cLine = New clsPrintLine cLine.InitAsText "Adresse", "Arial" cLine.SetXY 6000, 500 cPrintDoc.AddPrintableObject cLine ' Tableau '******************************************************* Set cPTab = New clsPrintTab ' Initialise le tableau avec 5 colonnes en coordonnées 0,1000 cPTab.Init 5, 0, 1000, , True 'largeur et alignement pour chaque colonne cPTab.SetColProperties 0, 5000, , False cPTab.SetColProperties 1, 1200, , True cPTab.SetColProperties 2, 1200, , True cPTab.SetColProperties 3, 1200, , True cPTab.SetColProperties 4, 1200, , True 'Affiche la bordure ? cPTab.blnWithBorder = True ' taille de la bordure cPTab.sngBorderWidth = 3 'Affiche les traits de colonnes ? cPTab.blnWithColumn = True 'Affiche les traits de lignes ? cPTab.blnWithRow = True ' Couleur de fond générale cPTab.lBackGroundColor = &HFFC0FF ' couleur de la Colone 1 Call cPTab.SetColBackGround(1, &HFF8080) ' couleur de la ligne 4 Call cPTab.SetRowBackGround(4, vbMagenta) ' Les couleurs des lignes prédomines sur les colonnes ? cPTab.blnRowOverColBorder = False ' Couleur de la matrice ou plage de cellules de coordonnées (10,1) - (12,3) = vert Call cPTab.SetCellBackGround(10, 1, 12, 3, vbGreen) ' on remplit le tableau avec des valeurs pipeau : 20 lignes For i = 0 To 20 cPTab.SetValue i, 0, "Ligne n " & i cPTab.SetValue i, 1, 100 * i cPTab.SetValue i, 2, Format(i * 6.55957, "# ###.00") cPTab.SetValue i, 3, i & "%" cPTab.SetValue i, 4, CStr(i) Next i ' on ajoute notre tableau au document à imprimer cPrintDoc.AddPrintableObject cPTab 'on crée un second tableau : Exemple avec température '************************************************************************************* Set cPTab = New clsPrintTab ' Initialise le tableau avec 2 colonnes en coordonnées 2000,8000 cPTab.Init 2, 2000, 8000, , True 'largeur et alignement pour chaque colonne cPTab.SetColProperties 0, 2000, , False cPTab.SetColProperties 1, 1000, , True 'Affiche la bordure ? cPTab.blnWithBorder = False 'Affiche les traits de colonnes ? cPTab.blnWithColumn = False 'Affiche les traits de lignes ? cPTab.blnWithRow = True ' couleur de la Colonne 1 Call cPTab.SetColBackGround(1, &HC0FFC0) ' couleur de la ligne 1 Call cPTab.SetColBackGround(1, &HE0E0E0) ' Les couleurs des lignes prédomines sur les colonnes ? cPTab.blnRowOverColBorder = True ' on remplit le tableau avec des valeurs pipeau : 3 lignes cPTab.SetValue 0, 0, "MOIS" cPTab.SetValue 0, 1, "temp°" cPTab.SetValue 1, 0, "Janvier" cPTab.SetValue 1, 1, "3°C" cPTab.SetValue 2, 0, "Février" cPTab.SetValue 2, 1, "8°C" cPTab.SetValue 3, 0, "Mars" cPTab.SetValue 3, 1, "12°C" ' on ajoute notre tableau au document à imprimer cPrintDoc.AddPrintableObject cPTab '******************************************************* ' Partie Pied de document imprimé que sur la dernière page Set cFoot = New clsPrintParagraph Set cLine = New clsPrintLine cLine.InitAsText "Veuillez blablabla", "Arial" cLine.SetXY 500, 0 cFoot.AddLine cLine Call cPrintDoc.SetDocumentFooter(cFoot) 'On lance l'impression !!!!!!! cPrintDoc.DoPrint Exit Sub DoPrintDocumentGotError: MsgBox "Print Error : " & Err.Description End Sub
19 mai 2006 à 20:38
limprime écran systeme me plait beaucoup seulement je dispose d'une version 2005 de VB et au moment de la conversion, selon VB, il manque un tas de fichiers DLL entre autres..
Est ce que quelqu'un a deja essayé de convertir ?
PS : ce n'est pas qu'avec ce programme que j'ai ce pb..
merci
23 janv. 2005 à 15:15
Ben moi elle me convient bien ta dll, mais ce qui est gênant c'est qu'on ne puisse pas changer la taille de police dans les tableaux, de même pour l'alignement du texte dans les cellules.
A+
30 nov. 2004 à 21:24
On se calme.
L'idée d'imprimer l'écran par recopie est un vieux casse tête que j'ai partiellement résolu en recopiant pixel écran pour dot imprimante sur Super Base SBWIN 8.00
Je ne vois pas comment tu procède pour découper une image au milieu de l'écran par exemple aux coordonnées haut gauche; bas droite : 200,200 ; 300,300
C'est triviale certainement mais jusqu'à présent personne n'a proposé de sol en VB6. !!! A ma connaissance.
Plus compliqué : comment fait-tu pour construire une feuille à imprimer en A4 avec plusieurs images correctement placées en 3x3, 4x5 etc...
J'ai également résolu partiellement ce problème en occulant la partie droite de l'image par écrasement par l'image suivante venant à droite.
Pour le code des DLL je ne m'en inquiète pas ma version initiation ne me premet pas de les créer et d'ailleurs cela ne me gène pas exemple mon programme de gestion de problème d'échec en 3 langues : Super Base SBWIN 8.00, (5 feuilles form, 1450 objets 660 pages A4 de code !) qui fait le bonheur de centaines de problémistes dans le monde, n'a pas de DLL compilé en VB (à part les classiques DLL's disponible).
A vous lire.
23 nov. 2004 à 13:09
Cete approche par Classe est interessante.........dans l'idée, mais (comme bcp l'ont déjà dit plus haut) l'interface semble assez complexe, et donc l'usage quasi-impossible sans disposer du Source, ne serait-ce qiue pour s'en refaire une DOC.
(a titre de comparaison, as-tu -pas hasard- essayé d'utiliser un MSChart..........officel avec la DOC ! ! ! ).
Ben ta source compilée en DLL relève du meme niveau : ne te sens pas désobligé, c'est tout de meme du niveau MicroDaube !
Je peux d'ailleurs te dire que j'aurais sans doute defini une interface plus "typée".....
A lire ton CLS...
Y
26 août 2004 à 21:18
Tu veux garder la source de ta Dll c ton plein droit, a koi bon donc diffuser cette source. ...
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.