|
GRUPOS DE DISCUSSÃO PROFISSIONAL WINDEV, WEBDEV e WINDEV Mobile |
| | | | | |
| Inicio → WINDEV 25 → Como não exibir como parar e suprimir a janela de progresso de impressão (“Printing… Page 1 – Please wait…”) em um projeto WinDev |
| Como não exibir como parar e suprimir a janela de progresso de impressão (“Printing… Page 1 – Please wait…”) em um projeto WinDev |
| Iniciado por Boller, jul., 11 2025 4:24 PM - 3 respostas |
| |
| | | |
|
| |
Membro registado 4.618 mensagems |
|
| Publicado em julho, 11 2025 - 4:24 PM |
Dica importante

Para suprimir a janela de progresso de impressão (“Printing… Page 1 – Please wait…”) em um projeto WinDev, você pode controlar isso usando a impressão em modo silencioso (silent print), evitando que qualquer janela de diálogo do sistema seja exibida.
✅ Solução recomendada
Use o comando iConfigure() e o iSilentMode:
iSilentMode(True) iConfigure(iPrinter) // configura a impressora se necessário (sem mostrar diálogo) iPrintReport(MyReport) iSilentMode(False)
⸻
💡 Explicações: • iSilentMode(True): ativa o modo silencioso de impressão, ou seja, não exibe caixas de diálogo ou mensagens do sistema durante a impressão. • iSilentMode(False): desativa o modo silencioso (boa prática restaurar após o uso). • iConfigure(iPrinter): pode ser usado antes, se quiser configurar a impressora por código sem exibir a janela de seleção de impressora.
⸻
🧪 Importante: • Esse modo funciona apenas se uma impressora padrão estiver definida no sistema. • A janela ainda pode aparecer se houver algum erro no driver, falta de impressora padrão ou configuração incorreta do spooler.
⸻
🛠️ Exemplo completo:
iSilentMode(True)
IF iExistPrinter() = False THEN Info("Nenhuma impressora está instalada.") RETURN END
// Suprimir janelas do sistema iDestination(iPrinter) iPrintReport(RPT_NotaFiscal)
iSilentMode(False)
⸻
Se você estiver usando PDF automático, também é possível suprimir as janelas:
iDestination(iPDF, "C:\Relatorios\saida.pdf") iSilentMode(True) iPrintReport(MyReport) iSilentMode(False)
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 4.618 mensagems |
|
| Publicado em julho, 11 2025 - 5:17 PM |
O comando iSilentMode(true) e iSilentMode(False)
É uma Procedure criada por vc que vai ter interação com as telas customizadas do relatório
Para vc poder customizar as telas o passo a passo é o Seguinte:
🧭 Caminho:
1. Abra o menu: Project → Description
2. Vá na aba: 📄 “Advanced”
3. Ative a opção: ☑️ “Use a custom preview window for reports”
(em francês: “Utiliser une fenêtre personnalisée de prévisualisation des états”)
Or inglês: “ Use a personalized state preview screen”
E ok ok
Abra a janela de win_wait
E traduza ela ou coloque ela na posição -2000
✅ Benefícios: • Dá total liberdade de layout e integração. • Evita mensagens como "Printing... Page 1" e o botão "Cancel" para português.
E o botão cancelar se não quiser que seja visível devido alguma norma federal use uma procedure global e mude o status de true e false para que não seja possível cancelar a impressão.
Pode usar como sugestão o nome da procedure iSilentMode usando um boolean global
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 4.618 mensagems |
|
| Publicado em julho, 11 2025 - 6:22 PM |
🔍 Resumo da ideia:
A thread discute formas de suprimir a janela de progresso do sistema de impressão no WinDev (a famosa “Printing… Page 1 / Please wait…”), já que ela vem do driver de impressão via spooler do Windows.
Como o iSilentMode(True) não existe oficialmente no WLanguage, mas você quer simular esse comportamento, vamos criar uma procedure personalizada chamada iSilentMode(True) que evita mostrar qualquer janela de sistema durante a impressão.
⸻
✅ Solução: Criar uma procedure chamada iSilentMode
🧠 Estratégia: • Redirecionar a saída da impressão direto para a impressora (iDestination(iPrinter)). • Desativar o preview (iPreview(False)). • Não mostrar nenhuma interface de configuração (iConfigure() não deve ser usado). • Garantir que não seja feita nenhuma chamada visual.
⸻
💡 Exemplo de implementação: iSilentMode
// Procedure iSilentMode // Simula ativar/desativar impressão silenciosa // Exemplo de uso: iSilentMode(True)
PROCEDURE iSilentMode(bAtivo is boolean)
IF bAtivo = True THEN // Ativa modo silencioso iDestination(iPrinter) // Envia direto para impressora padrão iPreview(False) // Desativa preview // Pode adicionar controle de spooler aqui, se necessário ELSE // Restaura comportamento padrão iDestination(iPreview) // Volta a mostrar preview iPreview(True) END
⸻
✅ Exemplo completo de uso:
iSilentMode(True)
IF iExistPrinter() = False THEN Info("Nenhuma impressora está disponível.") RETURN END
IF iPrintReport(RPT_Venda) = False THEN Error("Erro ao imprimir.") END
iSilentMode(False)
⸻
✅ Complementos e observações:
🔹 Quer imprimir diretamente em uma impressora térmica?
Use:
iOpenPrinter("Nome da impressora", "", iGeneric) iPrint("Texto direto ou comandos ESC/POS") iClosePrinter()
⸻
🔹 Impressão RAW (sem spooler, sem janelas): • Use uma impressora configurada para não usar spooler (RAW/Direct) • Ou use comandos diretos em fWrite() para portas COM ou LPT
⸻ Excelente ideia? 💡
-- Adriano José Boller ______________________________________________ Consultor e Representante Oficial da PcSoft no Brasil +55 (41) 99949 1800 adrianoboller@gmail.com skype: adrianoboller http://wxinformatica.com.br/ |
| |
| |
| | | |
|
| | |
| |
Membro registado 4.618 mensagems |
| | |
|
| | | | |
| | |
| | |
| |
|
|
|