Problema banalissimo (per voi) stampa

sabato 05 giugno 2004 - 16.46

fogliesulfiume Profilo | Newbie

Intanto ciao a tutti, contento di trovarmi tra tanti esperti e competenti.
Spero di fare tanta strada insieme a voi.
Il mio problema è principalmente questo:
Utilizzo VB6, devo stampare su etichette, ho bisogno che la stampa si fermi dopo ogni battitura, senza scrollarmi tutto la pagina fuori, e fin qui il problema l'ho risolto. Ecco appunto il codice che uso per eseguire la stampa line by line:
Option Explicit

Private Type DOCINFO
pDocName As String
pOutputFile As String
pDatatype As String
End Type

Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function EndDocPrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function EndPagePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function OpenPrinter Lib "winspool.drv" Alias _
"OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, _
ByVal pDefault As Long) As Long
Private Declare Function StartDocPrinter Lib "winspool.drv" Alias _
"StartDocPrinterA" (ByVal hPrinter As Long, ByVal Level As Long, _
pDocInfo As DOCINFO) As Long
Private Declare Function StartPagePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long) As Long
Private Declare Function WritePrinter Lib "winspool.drv" (ByVal _
hPrinter As Long, pBuf As Any, ByVal cdBuf As Long, _
pcWritten As Long) As Long

Dim lhPrinter As Long
Sul pulsante inserisco questo:
Private Sub Command1_Click()
Dim lReturn As Long
Dim lpcWritten As Long
Dim sWrittenData As String
Dim lDoc As Long
Dim MyDocInfo As DOCINFO
lReturn = OpenPrinter(Printer.DeviceName, lhPrinter, 0)
If lReturn = 0 Then
MsgBox "The Printer Name you typed wasn't recognized."
Exit Sub
End If
MyDocInfo.pDocName = "AAAAAA"
MyDocInfo.pOutputFile = vbNullString
MyDocInfo.pDatatype = vbNullString
lDoc = StartDocPrinter(lhPrinter, 1, MyDocInfo)
Call StartPagePrinter(lhPrinter)

sWrittenData = "How's that for Magic !!!!" + Chr(10) + Chr(20)
lReturn = WritePrinter(lhPrinter, ByVal sWrittenData, _
Len(sWrittenData), lpcWritten)


lReturn = EndPagePrinter(lhPrinter)
lReturn = EndDocPrinter(lhPrinter)
lReturn = ClosePrinter(lhPrinter)
End Sub
Il programma esegue tutto in maniera abbastanza semplice, proprio come volevo io...ehm...tranne un piccolo particolare (se non non sarei qui). Il carattere. Come ca##!$ faccio a impostare la dimensione del carettere che deve essere stampato? La stampante utilizza il carattere di default, credo sia 12, ma per impostarlo a 10, oppure ad 8, come devo fare????
Spero di essere stato chiaro nel porre la domanda. A risentirci a presto.
Hola hombre.

trinity Profilo | Guru

basta fare esempio:

Printer.Font.name = "Courier" ' imposta il tipo di carattere
Printer.Font.Size = 12 ' imposta la dimensione in punti del carattere
Printer.Font.Bold = True ' grassetto
Printer.Font.Italic = False

Ciao
Fabio
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5