Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    [VB6] PRINTER e stampante predefinita

    L'oggetto Printer è utilizzabile solo con la stampante predefinita.

    Per rendere predefinita la stampante è sufficiente nel Commondialog mettere la proprietà printerdefault = true

    SE IO VOLESSI RIPRISTINARE LA STAMPANTE CHE ERA LA PREDEFINITA IN PRECEDENZA COSA DEVO FARE?

    Non riesco a trovare niente ne sul manuale cartaceo ne su quello su cd-rom, se non un fantomatico riferimento a GDI (che in questo caso gestirebbe un handle della stampante senza il bisogno che sia la predefinita) ma io non so proprio da dove cominciare con questo GDI.

    spero che riuscite ad aiutarmi!

    Ciao.

  2. #2
    Utente di HTML.it L'avatar di vonkranz
    Registrato dal
    Sep 2001
    Messaggi
    1,387
    Spero faccia al caso tuo.

    Ti dimensioni una variabile con il livello di visibilita' che ti interessa.
    Dim strOldNomePrinter
    ..................
    [memorizzi la stampante in uso, suppongo che sia quella predefinita ovviamente se non e' stata cambiata da un altro programma]
    strOldNomePrinter =printer.DeviceName
    ..................
    nel corso del programma cambi la stampante
    ..................
    [quando devi ripristinare quella in uso]
    call Sub Ripristina_stampante(strOldNomePrinter)

    Qui sotto hai la sub che reimposta la stampante
    (a dire il vero ne puo' impostare una qualsiasi, ma visto che tu le passi il nome della periferica che utilizzavi PRIMA di modificarla, ecco che te la reimposta).


    public Sub Ripristina_stampante(strNome as string)
    Dim X As Printer
    For Each X In Printers
    If X.DeviceName = strNome Then
    ' Imposta la stampante come predefinita di sistema.
    Set Printer = X
    ' Interrompe la ricerca di una stampante.
    Exit For
    End If
    Next

    Ciao.
    ...and I miss you...like the deserts miss the rain...

  3. #3
    Grazie, mi sei stato molto utile.

    Aggiungo però che non si può più usare l'oggetto commondialog, poco male basta fare scegliere la stampante in un altro modo.

    Ciao e grazie ancora, non sapevo proprio come cavarmela !

  4. #4
    Spero faccia al caso tuo.
    hai ragione il codice è giusto solo che così la ripristini solo per il continuare dell'applicazione, quando l'applicazione viene chiusa e tu vai vedere nella cartella delle stampanti di windows la predefinita è rimasta quella che tu hai cambiato dall'interno del programma o per lo meno su windows2000 fa così.

    se poi mi dici che mi sbaglio e che probabilmente è un errore del mio sistema ti mi fai tutto contento specialmente se mi dici dov'è l'errore
    l'amichevole tessiragnatele di quartiere

  5. #5
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    66
    Vedo ke con le stampanti ve la cavate....forse riuscite a dare 1 mano anke a me, ora vi espongo il mio problema.
    Devo fare 1 stampa 1 poco complessa. In pratica devo stampare 1 grafico. Tale grafico e' costituito sul form da delle labels sovrapposte di colori diversi. In pratica si vedono 2 barrette(sono le labels) di colori diversi 1 piu' lunga e l'altra piu' corta (in pratica corrispondono al valore piu' basso e piu' alto).
    Di queste barrette sul form ce ne sono n..... quindi possono nn starci nella skermata. Quindi nn posso usare la PrintForm (peccato!!)
    In 2 parole.....vorrei simulare la stampa di 1 label, usando io stesso il codice.
    Uhhmmm........ temo di nn essere stato molto kiaro. Vedendo il form si capirebbe subito. Cmq se potete darmi qualke indicazione ve ne sarei grato.

    PS. la proprieta' print dell'oggetto printer sarebbe comodo, ma....solo per del testo ed io, invece, devo stampare anke delle cose grafike, con colori ecc....... AIUTOOO!!!

  6. #6
    Ciao sky,

    non ho mai stampato grafici ma ho visto sul manuale in linea che si può fare. dall'indice cerca LINE e poi la sottovoce METODO. sembra che usando PRINTER.LINE puoi stampare rettangoli ed anche dargli un colore.
    Mi sa che sarà un lavoraccio calcolarti tutte le posizioni e le proporzioni!
    Buona faticata ...

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2002
    Messaggi
    66

    grazie rosamunda.....

    ..... ma per mia fortuna ho risolto in 1 altro modo.
    Ciclo su 1 file dove sono elencati i valori del grafico.
    Con la load mi creo al volo gli oggetti ke desidero (le famigerate labels) e 1 form invisibile k epoi portero' in stampa proprio con la Printform. L'unico inconveniente e' ke devo gestirmi io il salto pagina. Be'.... bisogna pur sudarselo il pane no? Ehehehheh. Grazie comunque. Bacini sparsi

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.