Nesse vídeo demonstraremos a utilização da classe TPageView, que serve para abrir um relatório (como por exemplo, arquivo .prt).
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas
#Include "TOTVS.ch"
/*/{Protheus.doc} User Function zExe500
Abre um relatório para visualização
@type Function
@author Atilio
@since 04/04/2023
@see https://tdn.totvs.com/display/tec/TPageView
@obs
**** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao ****
/*/
User Function zExe500()
Local aArea := FWGetArea()
Local oDlgRelat
Local cArqRelat := ""
Local oPrinter
Local oTPageView
Local aTamanho := MsAdvSize()
Local nJanLarg := aTamanho[5]
Local nJanAltu := aTamanho[6]
Local lCentered := .T.
//Definindo o arquivo que será aberto
cArqRelat := "\spool\matr680.prt"
//Criando um objeto de impressão e setando o arquivo
oPrinter := TMSPrinter():New()
oPrinter:SetFile(cArqRelat,.F.)
oPrinter:SetPortrait()
oPrinter:SetPaperSize(9)
//Criando a dialog
oDlgRelat := TDialog():New(0, 0, nJanAltu, nJanLarg, "Teste de TPageView", , , , , CLR_BLACK, RGB(250, 250, 250), , , .T.)
//Criando o TPageView
oTPageView := TPageView():New(0, 0, nJanLarg, nJanAltu, oPrinter, oDlgRelat, oPrinter:nPageWidth+200, oPrinter:nPageHeight )
oTPageView:bLClicked:= {|| Iif(oTPageView:nZoom < 200, oTPageView:nZoom += 25,)}
oTPageView:bRClicked:= {|| Iif(oTPageView:nZoom > 25, oTPageView:nZoom -= 25,)}
oTPageView:Align:= CONTROL_ALIGN_ALLCLIENT
oTPageView:nZoom := 150
oDlgRelat:Activate(, , , lCentered, {|| .T.}, , )
FWRestArea(aArea)
Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.