realbasic-nug.it
[Top] [All Lists]

Re: Stampe

To: REALbasic NUG Italian <realbasic-nug dot it at lists dot realsoftware dot com>
Subject: Re: Stampe
From: Gilberto De Faveri <gilberto dot defaveri at omnidea dot it>
Date: Thu, 17 May 2007 12:12:36 +0200
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot it at lists dot realsoftware dot com
References: <D0EEF714-5CA2-497C-8CC4-C6FCCAD4C2C4 at tiscali dot it>

On May 17, 2007, at 09:42 , Giovanni Gualeni wrote:

- c'e' un metodo per inserire delle mie opzioni di stampa nella finestra di stampa? - come si gestisce, in una stampa di piu' pagine, la stampa di alcune specifiche pagine?

esempio:
predispongo una stampa che contiene 3 pagine (printPAGE.NextPage // banale ma tant'e'). Vorrei prima della stampa attivare una opzione per stampare o meno un marchietto nella pagina e vorrei stampare ad esempio solo la pagina 2.

Ciao Giovanni,
per quanto riguarda il ripristino ed il salvataggio delle impostazioni "generiche" del driver di stampa puoi utilizzare la classe PrinterSetup, in particolare la proprietà SetupString.

  Dim PageSetup as PrinterSetup = New PrinterSetup()
  If PageSetup.PageSetupDialog Then

    PrintWindow.PageSettings = PageSetup.SetupString

    'Salvo le impostazioni di stampa
    Dim PrinterSettings As FolderItem = New FolderItem("")
    If PrinterSettings <> nil And PrinterSettings.IsWriteable Then
      Dim t As TextOutputStream
      t = PrinterSettings.CreateTextFile()
      t.Write(PageSettings)
      t.Close()
    End If

  End If


Per le impostazioni di stampa legate alla tua applicazione, io affronterei il problema creando un pannello di opzioni da visualizzare al momento della stampa e che utilizzerai per generare l'oggetto Graphics relativo.

  'Stampa
  Dim g as Graphics
  Dim PageSetup As New PrinterSetup()

'Se non ci sono impostazioni di stampa valide apro la finestra di impostazioni
  If PrintWindow.PageSettings = "" Then
    PrintWindow.PrinterSetup.Show()
  End If
  PageSetup.SetupString = PrintWindow.PageSettings
  g = OpenPrinterDialog(PageSetup)

  If g <> Nil Then

    'Disegno sull'oggetto Graphics a seconda delle impostazioni
    If PrintLogoRadioButton.Value Then

      DrawLogo(g)

    Else
          ...

    End If

  End If
  PrintWindow.Close()


--
gilberto de faveri
omnidea srl

edificio pegaso
parco scientifico tecnologico vega
via delle industrie, 15
30175 venezia marghera

tel +39 041 509 3441
fax +39 041 509 3641

www.omnidea.it




<Prev in Thread] Current Thread [Next in Thread>