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.