Compartilhar via


Como exibir o progresso do trabalho de impressão

Este tópico descreve como exibir o progresso do trabalho de impressão para o usuário e dar a ele a opção de cancelar um trabalho de impressão que está em andamento no momento.

Visão geral

Um procedimento de diálogo de progresso da impressão normalmente executa as seguintes funções.

  • Exiba o progresso do trabalho de impressão para o usuário.
  • Inicie o thread de processamento de impressão.
  • Exiba um botão Cancelar para que o usuário possa interromper um trabalho de impressão antes de ser concluído.

Estritamente falando, a única coisa que o procedimento da caixa de diálogo de progresso da impressão deve fazer é exibir o progresso do trabalho de impressão para o usuário. No entanto, como as outras duas funções na lista anterior estão intimamente relacionadas, elas também foram incluídas neste módulo.

Exibindo o progresso do trabalho de impressão

Um procedimento de caixa de diálogo de progresso de impressão manipula as seguintes mensagens de janela.

  • WM_INITDIALOG

    Inicializa os controles que a caixa de diálogo usa.

  • WM_SETCURSOR

    Define o cursor como um ponteiro quando o usuário é capaz de cancelar um trabalho de impressão e para o cursor de espera quando o trabalho de impressão está em um ponto em que ele não pode ser cancelado.

  • USER_PRINT_START_PRINTING

    Define os parâmetros da barra de progresso para o trabalho de impressão e cria o thread de impressão para começar a processar o trabalho de impressão.

    Esta é uma mensagem de janela específica do aplicativo.

  • WM_COMMAND – IDCANCEL

    Define o evento cancel para informar o thread de processamento de impressão para cancelar o trabalho de impressão.

  • USER_PRINT_STATUS_UPDATE

    Atualizações a barra de progresso e status texto para mostrar o estado atual do trabalho de impressão.

    Esta é uma mensagem de janela específica do aplicativo.

  • USER_PRINT_CLOSING

    Define o fechamento status texto na caixa de diálogo de andamento para indicar que o trabalho de impressão está fechando.

    Esta é uma mensagem de janela específica do aplicativo.

  • USER_PRINT_COMPLETE

    Exibe a mensagem "Imprimir trabalho concluído" para o usuário e libera identificadores e eventos que foram usados neste trabalho de impressão.

    Esta é uma mensagem de janela específica do aplicativo.