Newsgroup: it.comp.lang.visual-basic
Titolo: [?] RichTextBox e SelPrint

Sto usando per la prima volta il RichTextBox, senza immagini.
Il problema sta sulla stampa.
Se faccio:
    Printer.Print ""
    rtb.SelPrint (Printer.hDC)
Mi stampa correttamente l'intero contenuto del RTB
Se subito dopo continuo con:
    Printer.NewPage
    Printer.Print ""
    Printer.Print "Pippo"
    Printer.EndDoc
Spesso e volentieri di comunica un messaggio sibillino "Errore della
stampante", sin dalla Printer.NewPage. Come mai?
Inoltre, c'è modo di usare la SelPrint per stampare dall'attuale posizione
(Printer.<CurrentX CurrentY>, mi basterebbe quest'ultimo) e non, come mi
pare faccia, sempre da inizio foglio?
Grazie.

 non, come mi pare faccia, sempre da inizio foglio?
ehilà Lupone...
Questo è (circa) l'oggetto della prima domanda che postai sul ng, e mi
rispondesti proprio tu!
Si tratta di andare di API, adesso cerco e ti faccio sapere...
--
Salutoni
Sergio
per rispondere... togli il group dall'indirizzo

 adesso cerco e ti faccio sapere...
http://makeashorterlink.com/?H27523566
hth, e grazie ancora :-)


 hth, e grazie ancora :-)
Ma, ... veramente ti eri risposto da solo.
Grazie ora lo dico io. Leggerò con attenzione.

 stampante", sin dalla Printer.NewPage. Come mai?
Mah! Ho tolto quelle ultime Printer., lasciando solo Printer.Print "" e
rtb.SelPrint (Printer.hDC), e ora mi comunica l'errore, anche dopo ore, alla
chiusura dell'applicativo. Ri-mah!

 chiusura dell'applicativo. Ri-mah!
Volendo cambiare completamente sistema, dai un'occhiata a
questo, che ti assicuro funziona:
******************
http://support.microsoft.com/default.aspx?scid=kb;[LN];146022
The SelPrint method of the RichTextBox control does not allow
a programmer to set the position of the output on the printer.
In addition, the RichTextBox control does not provide a method
for displaying its contents as they would show up on the printer.
This article explains how to set up a RichTextBox with a WYSIWYG
(What You See Is What You Get) display and then how to print it.
******************
Volendo proprio debuggare il problema originale, ti dirò: IMVHO,
è un problema del driver della stampante. A me capitava roba
simile con delle ink-jet HP.
Printer.NewPage, "in qualche modo(©)", deve eseguire del codice
del driver della stampante, che chiude la pagina e la reinizializza.
Altrettanto fa EndDoc, e tenendo presente che alla chiusura di
un app, se c'è una connessione aperta alla stampante ( leggi:
dei dati in corso di stampa, una pagina iniziata, insomma) viene
mandato automaticamente un EndDoc, ecco che hai l'errore.
Prova a vedere se c'è qualche:
- aggiornamento del driver in rete
- settaggio del driver da modificare
- settaggio dello spooler da modificare.
_____________________________
Personalmente ho tentato di scavalcare il problema mandando
i dati della RTB direttamente: ridimensiono la RTB (o una RTB
nascosta), questo giusto per avera la spezzatura automatica
delle righe :-); analizzo il testo, alla ricerca di formattazione
tipo cambio font, grassetto, corsivo eccetera, poi scrivo in modo
equivalente sulla stampante. E' un work in progress, non completo,
e non è un metodo che ti consiglio... è solo che per quello che
devo fare io, è l'unico sistema che posso usare.
_____________________________
Bye, G.

 simile con delle ink-jet HP.
Possibile ( :-( ), ho sempre provato con quella (Epson 670). Proverò con
altre.
...
Grazie di tutto.