Procedura: Visualizzare lo stato del processo di stampa

In questo argomento viene descritto come visualizzare lo stato del processo di stampa all'utente e concedere loro l'opzione di annullare un processo di stampa attualmente in corso.

Panoramica

Una procedura di dialogo di stato di stampa esegue in genere le funzioni seguenti.

  • Visualizzare lo stato del processo di stampa per l'utente.
  • Avviare il thread di elaborazione di stampa.
  • Visualizzare un pulsante Annulla in modo che l'utente possa arrestare un processo di stampa prima del completamento.

In senso stretto, l'unica cosa che deve essere eseguita dalla procedura di avanzamento della stampa consiste nel visualizzare lo stato di avanzamento del processo di stampa all'utente. Tuttavia, poiché le altre due funzioni nell'elenco precedente sono strettamente correlate, sono state incluse anche in questo modulo.

Visualizzazione dello stato del processo di stampa

Una finestra di dialogo di avanzamento stampa gestisce i messaggi della finestra seguenti.

  • WM_INITDIALOG

    Inizializza i controlli usati dalla finestra di dialogo.

  • WM_SETCURSOR

    Imposta il cursore su un puntatore quando l'utente è in grado di annullare un processo di stampa e sul cursore di attesa quando il processo di stampa è a un punto in cui non può essere annullato.

  • USER_PRINT_START_PRINTING

    Imposta i parametri della barra di stato per il processo di stampa e crea il thread di stampa per avviare l'elaborazione del processo di stampa.

    Si tratta di un messaggio di finestra specifico dell'applicazione.

  • WM_COMMAND - IDCANCEL

    Imposta l'evento annulla per indicare al thread di elaborazione di stampa di annullare il processo di stampa.

  • USER_PRINT_STATUS_UPDATE

    Aggiornamenti il testo della barra di stato e dello stato per visualizzare lo stato corrente del processo di stampa.

    Si tratta di un messaggio di finestra specifico dell'applicazione.

  • USER_PRINT_CLOSING

    Imposta il testo dello stato di chiusura nella finestra di dialogo di avanzamento per indicare che il processo di stampa è chiuso.

    Si tratta di un messaggio di finestra specifico dell'applicazione.

  • USER_PRINT_COMPLETE

    Visualizza il messaggio "Stampa processo completo" all'utente e rilascia handle ed eventi usati in questo processo di stampa.

    Si tratta di un messaggio di finestra specifico dell'applicazione.