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

    [VB6] Imposta stampante in form MDI

    Ciao :-)
    ho una FORM MDI da cui tramite il menu "FILE" è possibile selezionare la voce "Imposta Stampante..."
    di seguito risporto il codice della voce-menu:
    codice:
    Private Sub mnuImpostaStampante_Click()
        On Error Resume Next
        'If ActiveForm Is Nothing Then Exit Sub
        With dlgCommonDialog
            .PrinterDefault = True
            .Flags = cdlPDPrintSetup Or cdlPDNoWarning
            .CancelError = True
            .ShowPrinter
        End With
    End Sub
    Dalla form MDI principale riesco ad aprire 'n' form figli.
    Ogni from figlio contiene un controllo DHTMLEdit che uso per creare l'anteprima di stampa tramite codice HTML e un tasto 'STAMPA'.
    codice:
    Private Sub bt_stampa_Click()
        Me.DHTMLEdit_StampeClienti.PrintDocument Stampante_Selez
    End Sub
    Private Sub Form_Activate()
        Stampante_Selez = Printer.DeviceName
    End Sub
    Il prblema è il seguente:
    Se apro un form figlio, seleziono una stampante (A) tra quelle installate e lancio la stampa, l'operazione va a buon fine.
    Se poi: senza chiudere la form vado seleziono una stampante diversa (B), risultato mi stampa sempre nella stampante (A). Se invece chiudo la form, poi la riapro e imposto come stamapante la B l'oerazione va a buon fine.

    Come mai

    Grazie mille a tutti

  2. #2
    linguaggio e versione devono essere sempre specificati (...nel titolo: [VB6] -> argomento)
    ...Terrible warlords, good warlords, and an english song

  3. #3
    codice:
    Private Sub mnuImpostaStampante_Click()
       On Error Resume Next
       'If ActiveForm Is Nothing Then Exit Sub
       With dlgCommonDialog
          .PrinterDefault = True
          .Flags = cdlPDPrintSetup Or cdlPDNoWarning
          .CancelError = True
          .ShowPrinter
          Stampante_Selez = Printer.DeviceNameEnd Sub 
        End With
    Private Sub bt_stampa_Click()
       Me.DHTMLEdit_StampeClienti.PrintDocument Stampante_Selez
    End Sub
    Private Sub Form_Activate()
       Stampante_Selez = Printer.DeviceName
    End Sub
    Questo perchè chiudendo il CommonDialog, non si verifica l'evento Form_Activate

  4. #4

    ... non neache così funziona :-(

    Ecco la situazione attuale.
    Ho un modulo che contiene la variabile globale destinata a contenere il nome del driver della stampante
    codice:
    '***********MODULO VAR. GLOBALI*************
    Global Stampante_Selez As String
    '********************************
    Nel FROM MDI madre ho un menu doce c'è la voce "imposta stampante"
    codice:
    Private Sub mnuImpostaStampante_Click()
        On Error Resume Next 
        If ActiveForm Is Nothing Then Exit Sub
    
        With dlgCommonDialog
            'Prepara la stampa con l'oggetto Printer:
            .PrinterDefault = True
            'Richiama la finestra imposta stampante
            'Non genera messaggi se non è stata selezionata una stampante di default:
            .Flags = cdlPDPrintSetup Or cdlPDNoWarning
            Printer.TrackDefault = True
            .CancelError = True
            .ShowPrinter
            Stampante_Selez = Printer.DeviceName
        End With
    End Sub
    Dall FORM MADRE apro un numero indefinito di FORM FIGLI in cui appare un pulsante STAMPA il cui codice è il seguente:

    codice:
    Public Sub bt_stampa_Click()
        Me.DHTMLEdit_StampeClienti.PrintDocument Stampante_Selez
    End Sub
    Ma il problema è lo stesso ovvero ovvero: per far stampare del contenuto del controllo DHTML in 2 stamapanti diverse devo, aprire la from, lanciare la prima stampa, modificare le impostazioni di stampa chiudere la form, riaprirla e lanciare di nuovo la stampa.


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 © 2025 vBulletin Solutions, Inc. All rights reserved.