- Criado por Josimar Da Silva Assunção Junior, última alteração em 16 dez, 2020
O que é?
Classe que cria uma janela para a configuração dos parâmetros para uma impressão.
Muito utilizada em conjunto com a classe FwMsPrinter.
Métodos
A seguir são listados os métodos e eventuais detalhes de cada método.
New
Constrói o objeto e permite posteriormente as manipulações, operações e uso.
Sintaxe: FwPrintSetup():New(nFlags, [cTitle]) => objeto
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
nFlags | Numérico | Parâmetro de configuração, ver lista a seguir |
cTitle | Caracter | Título a ser apresentado caso a janela seja exibida |
Exemplo e lista dos parâmetros de configuração:
#include "fwprintsetup.ch" // PD_ISTOTVSPRINTER=1 // PD_DISABLEDESTINATION=2 // PD_DISABLEORIENTATION=4 // PD_DISABLEPAPERSIZE=8 // PD_DISABLEPREVIEW=16 oPrintSetup := FWPrintSetup():New(PD_ISTOTVSPRINTER+PD_DISABLEDESTINATION, "Um título elegante")
Activate
Exibe a janela para o complemento da configuração pela pessoa usando o programa.
Sintaxe: FWPrintSetup():Activate() => nModalResult
Retorno: nModalResult
Quando pressionado o botão Ok => PD_OK = 1
Quando pressionado o botão Cancelar => PD_CANCEL = 2
GetProperty
Recupera informações das propriedades.
Sintaxe: FwPrintSetup():GetProperty(nItem) => xValue
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
nItem | Numérico | Indica a propriedade que deve ter o valor recuperado, ver lista das propriedades a seguir. |
Lista de propriedades:
#Include "fwprintsetupstr.ch" PD_DESTINATION=1 PD_PRINTTYPE=2 PD_ORIENTATION=3 PD_PAPERSIZE=4 PD_PREVIEW=5 PD_VALUETYPE=6 PD_MARGIN=7
Detalhes das propriedades:
PD_DESTINATION -> DESTINO DA IMPRESSÃO
Recupera a informação do destino da impressão, local (smartclient desktop) ou servidor (appserver).
1 - servidor
2 - local
PD_PRINTTYPE -> TIPO DA IMPRESSÃO
Recupera o tipo da impressão definida, esta informação pode variar conforme o componente utilizado. Na classe FwMsPrinter as possibilidades são:
1 - spool
6 - pdf
PD_ORIENTATION -> ORIENTAÇÃO DA PÁGINA DURANTE A IMPRESSÃO
Recupera a orientação definida para a página na impressão.
1 - retrato
2 - paisagem
PD_PAPERSIZE -> TAMANHO DO PAPEL
Recupera a informação da dimensão do papel utilizado na impressão, esta lista pode variar conforme o componente utilizado na impressão, na fwmsprinter as possibilidades são:
1 - "Letter 8 1/2 x 11 in"
2 - "A4 210 x 297 mm"
3 - "A3 297 x 420 mm"
4 - "Executive 7 1/4 x 10 1/2 in"
5 - "Tabloid 11 x 17 in"
Tentar definir algo diferente dessa lista causa comportamentos inadequados durantes a impressão.
PD_PREVIEW -> EXIBE EM TELA?
Recupera a configuração para exibir janela com a imagem da impressão antes de enviar para a impressora.
Essa configuração tem valor do tipo lógico e o padrão dessa configuração é falso.
Não é assegurado que o exibido na tela seja o resultado da impressão no papel.
Os drivers instalados e a comunicação appserver, smartclient ou printer.exe com a impressora afetam o resultado da impressão no papel.
PD_VALUETYPE -> VALOR ASSOCIADO COM A IMPRESSÃO
Recupera o nome do arquivo e endereço definido para a impressão ou geração.
PD_MARGINMARGEM -> DEFINIÇÃO DE MARGEM
Recupera a definição das margens da página a serem respeitadas na impressão.
O retorno é uma lista com os valores definidos para:
posição 1 - margem esquerda
posição 2 - margem superior
posição 3 - margem direita
posição 4 - margem inferior
SetOrderItem
Exibe um componente do tipo ListBox para a escolha da ordem de impressão do relatório.
Sintaxe: FWPrintSetup():SetOrderItem(aItems)
Nome | Tipo | Descrição |
---|---|---|
aItems | lista | Lista com as opções de ordem |
SetOrderParms
Define a opção de ordem do relatório.
Sintaxe:FwPrintSetup():SetOrderParms(aOrder, @nOrder)
Nome | Tipo | Descrição | Referência |
---|---|---|---|
aOrder | Lista | Lista com as opções de ordem | |
nOrder | Numérico | Item selecionado | x |
SetProperty
Atribui o valor informado a uma propriedade.
Sintaxe: FwPrinSetup():SetProperty(nItem, xValue)
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
nItem | Numérico | Código da propriedade para atribuição. As opções são as mesmas do método GetProperty. |
xValue | Numérico | Lógico | Lista | Valor depende da propriedade utilizada. Mais detalhes no método GetProperty. |
SetUserParms
Define o bloco de código a ser executado quando acionado o botão oBtnParms.
Sintaxe: FwPrintSetup():SetUserParms(bActionUser)
Parâmetros:
Nome | Tipo | Descrição |
---|---|---|
bActionUser | Bloco de código | Instrução para ser executado no acionamento do botão |
Exemplo
#include 'protheus.ch' #include "fwprintsetup.ch" user function showprtstp() local oSetup as object oSetup := FWPrintSetup():New(PD_ISTOTVSPRINTER, "Uma impressão XYZ") varinfo('propriedades PD_DESTINATION', oSetup:GetProperty(PD_DESTINATION)) varinfo('propriedades PD_PRINTTYPE', oSetup:GetProperty(PD_PRINTTYPE)) varinfo('propriedades PD_ORIENTATION', oSetup:GetProperty(PD_ORIENTATION)) varinfo('propriedades PD_PAPERSIZE', oSetup:GetProperty(PD_PAPERSIZE)) varinfo('propriedades PD_PREVIEW', oSetup:GetProperty(PD_PREVIEW)) varinfo('propriedades PD_VALUETYPE', oSetup:GetProperty(PD_VALUETYPE)) varinfo('propriedades PD_MARGIN', oSetup:GetProperty(PD_MARGIN)) return