Visualizzazione dei risultati da 1 a 7 su 7

Discussione: [VB6] CommonoDialog

  1. #1

    [VB6] CommonoDialog

    Salve a tutti.

    Vorrei se è possibile un'aiuto da parte di tutti voi.

    Sto cercando di stampare un form richiamando il CommonDialog ma non so come si fà.

    Questo è lo script per richiamare il CommonDialog:

    codice:
    If Not IsPrinterInstalled Then
    MsgBox "Nessuna stampante istallata sul computer.", vbCritical
    Exit Sub
    End If
    
    Me.CommonDialog1.ShowPrinter
    Come posso richiamare il form da stamapre?

  2. #2
    Utente di HTML.it L'avatar di LMondi
    Registrato dal
    Sep 2004
    Messaggi
    1,291
    Se si tratta di più form figli potresti usare questa sintassi:
    codice:
    If ActiveForm Is FrmProva Then
      Call printProva
    End If
    Ove printProva è la routine di stampa del FrmProva.
    LM

  3. #3
    e se invece uso il Printer come devo fare?

    Vorrei usare il printer xchè facendo una prova con il form anche allungandolo tutto non mi copre tutto il foglio A4.

  4. #4
    tuoform.PrintForm

  5. #5
    axsw, scusa ma cosa mi vuoi dire con tuoform.PrintForm?

    Non devo stampare un form con PrintForm ma tramite "commondialog"

  6. #6
    Ciao sempre se ho capito bene
    Inserisci nel tuo form un common dialod e chiamalo (CDL1)
    Impost la proprietà (CancelEror su)False
    copia questo codice.
    codice:
    Private Sub cmdStampa_Click()
    
    Dim bcancel As Boolean
    Dim ncopy As Integer
    On Error GoTo gestionerrori
    
    bcancel = False
    
    CDL1.Flags = cdlPDHidePrintToFile Or _
            cdlPDNoSelection Or cdlPDNoPageNums _
            Or cdlPDCollate
    
    CDL1.CancelError = True
    CDL1.PrinterDefault = True
    CDL1.Copies = 1
    CDL1.ShowPrinter
    
    If bcancel = False Then
    
        tuoform.PrintForm
      'oppure stampa quel che vuoi tu
       
        For ncopy = 1 To CDL1.Copies
        Next ncopy
    End If
    
    Exit Sub
    
    gestionerrori:
    If Err.Number = cdlCancel Then
    bcancel = True
    Resume Next
    End If
    tuoform.SetFocus
     End Sub
    Ciao e fammi sapere

  7. #7
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Originariamente inviato da techno
    Non devo stampare un form con PrintForm ma tramite "commondialog"
    La CommonDialog, per sua natura, non è in grado di stampare, così come non è possibile chiedere ad una SaveDialog di salvare un file.

    Sono finestre di dialogo preposte semplicemente all'impostazione della stampante o alla selezione del file di destinazione; esse restituiscono un nome di file o impostano la stampante, ma sta poi al programmatore utilizzare tali informazioni, se necessario, per implementare la stampa via codice di un form oppure di sfruttare le procedure appositamente progettate per aprire un file e salvare dati al suo interno.

    Per stampare un form direttamente, puoi usare la PrintForm come ti è stato suggerito oppure devi cercare (magari attraverso un motore di ricerca) una soluzione capace di memorizzare l'immagine del form in un controllo PictureBox, ad esempio, e stamparlo come meglio credi trasferendo l'immagine alla stampante dopo averla ridotta, allungata, capovolta e così via.

    In questo frangente, la CommonDialog non ha alcun ruolo da recitare se non quello di presentare un'interfaccia che consenta all'utente di specificare parametri di stampa...ma non può stampare a livello effettivo, poichè ogni progetto ha diverse esigenze di stampa (documenti, immagini, tabulati e così via) e pertanto non sarebbe nemmeno possibile definire una "procedura di stampa" universale che possa essere integrata nella CommonDialog...e anche se fosse possibile, non si troverebbe in quel componente.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

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.