Newsgroup: it.comp.lang.visual-basic
Titolo: [?] Strani scherzi della Printer

Ciao a tutti.
Non so se sono ubriaco io o lo e' la mia
stampante o entrambi....
Devo stampare un riquadro colorato, con una
scritta dentro.    Tutto va bene se stampo sui
formati di default della stampante, ma se provo
a modificare Printer.PrintQuality o Printer.Copies
oppure Printer.PaperSize prima di preparare
la stampa mi fa un riquadro colorato, ma con la
scritta nera su fondo bianco.
Ho estrapolato le righe di codice che mi fanno
questo scherzetto e ve le riporto qui sotto.
Puo' darsi che il problema sia solo della mia
stampante, ma se non lo fosse, e se cioe' lo
strano scherzo lo facesse anche a qualcun
altro che mi sappia spiegare come evitarlo,
mi togliereste un peso che non potete nemmeno
immaginare.....
ecco il codice:
    Printer.PaperSize = vbPRPSA5
    Printer.Line (0, 0)-(3000, 1300), &HFFC0C0, BF
    Printer.Line (0, 0)-(3000, 1300), 0, B
    Printer.Font = "Arial"
    Printer.FontSize = 18
    Printer.FontBold = True
    Printer.CurrentX = 800
    Printer.CurrentY = 300
    Printer.Print "PROVA"
    Printer.EndDoc
se pero' antepongo una pagina bianca alla
stampa, tutto va a posto:
    Printer.PaperSize = vbPRPSA5
    Printer.NewPage                            ' pagina bianca
    Printer.Line (0, 0)-(3000, 1300), &HFFC0C0, BF
    Printer.Line (0, 0)-(3000, 1300), 0, B
    Printer.Font = "Arial"
    Printer.FontSize = 18
    Printer.FontBold = True
    Printer.CurrentX = 800
    Printer.CurrentY = 300
    Printer.Print "PROVA"
    Printer.EndDoc
Ovviamente non posso usare questa soluzione,
perche' nel caso multicopia mi stamperebbe una
pagina si e una no...
Ho VB6.0 SP4
Grazie

scritta nera su fondo bianco.
Adesso non posso stampare per verificare, ma dovrebbe
bastare 
Printer.FontTransparent = True
Tieni presente, pero', che:
BUG: Setting FontTransparent Has No Effect on Windows 95/98/Me 
Q145726
BUG: Setting Orientation Changes Background Mix Mode for Printer 
Q183163
-- 
hth, hal

 Q145726
...e quindi anche se funzionasse non mi andrebbe
bene perche' sto sviluppando un sw che deve girare
anche su 98.
Grazie
Bepi

Quando hai tempo e voglia, prova questo codice:
[snip]
Provato e riscontrato con windows 2000 con una stampante hp2100
condivisa in rete.
Ho modificato, allora, il tuo esempio sulla base dell' articolo msdn del mio
post precedente e tutto e' andato a posto.
Sotto la firma ho copiato il codice aggiornato.
-- 
ciao, hal
----------------------------- inizio codice ---------------
Option Explicit
Private Const TRANSPARENT = 1
Private Const OPAQUE = 2
Private Declare Function SetBkMode Lib "gdi32" _
   (ByVal hDC As Long, ByVal nBkMode As Integer) As Long
Private Declare Function GetBkMode Lib "gdi32" _
   (ByVal hDC As Long) As Long
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Public Sub Main()
    Printer.PaperSize = vbPRPSA5
' ---------------  prima pagina
    Printer.Line (0, 0)-(3000, 1300), &HFFC0C0, BF
    Printer.Line (0, 0)-(3000, 1300), 0, B
    Printer.Font = "Arial"
    Printer.FontSize = 18
    Printer.FontBold = True
    Printer.CurrentX = 800
    Printer.CurrentY = 300
    ' Printer.FontTransparent = True
    Call SetBkMode(Printer.hDC, TRANSPARENT)
 
    Printer.Print "PROVA"
    Printer.NewPage
' ---------------  seconda pagina
    Printer.Line (0, 0)-(3000, 1300), &HFFC0C0, BF
    Printer.Line (0, 0)-(3000, 1300), 0, B
    Printer.Font = "Arial"
    Printer.FontSize = 18
    Printer.FontBold = True
    Printer.CurrentX = 800
    Printer.CurrentY = 300
    Printer.Print "PROVA"
    Printer.EndDoc
End Sub
----------------------- fine codice -------------------------

 ciao, hal
se aumenti di 1 ogni carattere del tuo nick viene vuori
IBM .... e' un caso ?
Ciao e grazie ancora
Bepi

(e sarebbe pure poco)
Guarda che rischi: testimoni oculari riferiscono che convenga
regalarmi un vestito piuttosto che invitarmi a pranzo :PP
-- 
ciao, hal
Hardware Abstraction Layer :)

 Hardware Abstraction Layer :)
ah... allora ibm era un caso...
Ciao
Bepi

ah... allora ibm era un caso...
Invece non e' un caso che mi debba astrarre dall' hardware perche' di 
elettronica non capisco una mazza :PP
-- 
ciao, hal
ancora una volta scivolato nell' OT
(*) vabbe', il vino ce lo metto io :-))

 ha scritto

benvenuto nel mondo rehal :)
ti va anche bene che il pranzo lo passi a lui anziche' a java.
lei sbafa, ma e' di taglia piccola (unico cruccio dei lab: sono
tarchiatelli, mica slanciati come la schiffer), un vestitino ti costerebbe
pochissimo...

 ho modificato i tipi di alimenti, ma _non_ la quantita' <g>
spero che non ti sia fatto con-fondere dalla fon-etica e dal ton-no tu non
sia passato al con-sorcio.

sia passato al con-sorcio.
 :DDD
e' proprio destno che non riesca a tenere la tastiera pulita :PPP

 ha scritto

attento alle esche...
scherzi a parte, uno dell'assistenza hw mi disse che avevano piu' volte
trovato pc con tracce di pp di topo. (il topino, non la pantanega).
anch'io, d'altronde, quando tolgo una scheda, non rimetto mai il chiusino
(anche perche' di solito l'ho deformato per toglierlo...).
e i pc, nelle notti d'inverno, sembra siano tiepidi.
mouse, topi, pinguini--
e chi ha detto che l'informatica e' fredda ?