Árvore de páginas

Você está vendo a versão antiga da página. Ver a versão atual.

Comparar com o atual Ver Histórico da Página

« Anterior Versão 4 Próxima »

Classe: TMSGraphic

Cria um objeto para apresentar gráfico.

TSrvObject -> TControl -> TMSGraphic


New

Método construtor da classe.


TMSGraphic(): New ( [ nRow], [ nCol], [ oWnd], [ uParam4], [ uParam5], [ uParam6], [ nWidth], [ nHeight] ) --> oObjeto


 

NomeTipoDescriçãoObrigatórioReferência
nRowNuméricoIndica a coordenada vertical em pixels.  
nColNuméricoIndica a coordenada horizontal em pixels.  
oWndObjetoIndica a janela ou controle visual onde o objeto será criado.  
uParam4NuloCompatibilidade.  
uParam5NuméricoCompatibilidade.  
uParam6NuméricoCompatibilidade.  
nWidthNuméricoIndica a largura em pixels do objeto.  
nHeightNuméricoIndica a altura em pixels do objeto.  

 

oObjeto
    ()
  • Retorna o objeto criado.

 

oGraphic := TMSGraphic():New( 01,01,oDlg,,,RGB(239,239,239),260,184)

Add

Adiciona um item no gráfico.


TMSGraphic(): Add ( [ nSerie], [ nVal], [ cLegend], [ nColor] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nSerieNuméricoIndica a série que será incluída no item.  
nValNuméricoIndica o valor do item.  
cLegendCaracterIndica a legenda do item.  
nColorNuméricoIndica a cor do item.  

 


 

nSerie := oGraphic:CreateSerie( 10 )oGraphic:Add(nSerie, 200, 'Item 01', CLR_HGREEN )

CreateSerie

Cria uma série para o gráfico.


TMSGraphic(): CreateSerie ( [ nSerieType], [ cLegend], [ nDecimals], [ lShowValues] ) --> nRet


 

NomeTipoDescriçãoObrigatórioReferência
nSerieTypeNuméricoIndica o tipo do gráfico, sendo: GRP_LINE 1, GRP_AREA 2, GRP_POINT 3, GRP_BAR 4, GRP_PIE 10.  
cLegendCaracterIndica a legenda da série.  
nDecimalsNuméricoIndica o número de casas decimais dos valores.  
lShowValuesLógicoIndica se, verdadeiro (.T.), os valores serão apresentados; caso contrário, falso (.F.).  

 

nRet
    ()
  • Retorna a quantidade de séries criadas.


nSerie := oGraphic:CreateSerie( GRP_LINE )
TmsGraphic GRP_LINE































nSerie := oGraphic:CreateSerie( GRP_AREA )
TMSGraphic GRP_AREA































nSerie := oGraphic:CreateSerie( GRP_POINT)
TMSGraphic GRP_POINT































nSerie := oGraphic:CreateSerie( GRP_BAR )
TMSGraphic GRP_BAR































nSerie := oGraphic:CreateSerie( GRP_PIE )
TMSGraphic GRP_PIE


nSerie := oGraphic:CreateSerie( 10 )

DelSerie

Exclui uma série do gráfico.


TMSGraphic(): DelSerie ( [ nSerie] ) --> lRet


 

NomeTipoDescriçãoObrigatórioReferência
nSerieNuméricoIndica a série que será excluída.  

 

lRet
    (logico)
  • Retorna verdadeiro (.T.), se a série for excluída com sucesso; caso contrário, retornará falso (.F.).

A TMSGraphic não permite a deleção e re-inserção de séries é necessário re-criar o objeto. No exemplo consta a forma correta para esta operação.

#include "Protheus.CH" 

#include "MSGRAPHI.CH"

 

Function u_zzTMSGraphic()
Private nPt := 40
Private nPmdb := 60

DEFINE MSDIALOG oDlg TITLE "Exemplo TMSGraphic" FROM 180,180 TO 550,700 PIXEL

oGraphic := TMSGraphic():New( 35,01,oDlg,,,RGB(239,239,239),230,150) 
oGraphic:SetMargins(2,6,6,6)
oGraphic:SetLegenProp(GRP_SCRRIGHT, CLR_LIGHTGRAY, GRP_AUTO,.T.)

nSerie := oGraphic:CreateSerie( GRP_PIE ) // GRP_PIE=10
oGraphic:Add(nSerie, nPt , 'Votos PT' , CLR_HGREEN )
oGraphic:Add(nSerie, nPmdb, 'Votos PMDB', CLR_HRED )

@ 5, 01 SAY "Digite os votos do PT " OF oDlg PIXEL
@ 20, 01 SAY "Digite os votos do PMDB" OF oDlg PIXEL
@ 5, 100 MSGET nPt OF oDlg PIXEL PICTURE "@E 9999,999"
@ 20, 100 MSGET nPMDB OF oDlg PIXEL PICTURE "@E 9999,999"
@ 5, 150 BUTTON "Atualiza" SIZE 40,14 OF oDlg PIXEL ACTION xAtualiza(@oGraphic, nPt, nPMDB)

ACTIVATE MSDIALOG oDlg CENTERED

Return

Static Function xAtualiza(oGraphic, nPt, nPMDB)

// Destroi e recria o objeto de grafico
// OBS: Necessário para manutenção de recursos do sistema
FreeObj(oGraphic)
oGraphic := TMSGraphic():New( 35,01,oDlg,,,RGB(239,239,239),230,150)

// Nao necessário pois o objeto foi recriado
//oGraphic:DelSerie(nSerie)

nSerie := oGraphic:CreateSerie( GRP_PIE ) // GRP_PIE=10
oGraphic:Add(nSerie, nPt , 'Votos PT', CLR_HGREEN )
oGraphic:Add(nSerie, nPMDB, 'Votos PMDB', CLR_HRED )

Return


oGraphic:DelSerie(nSerie)

SaveToBMP (Obsoleto)

Salva o gráfico atual, no formato Bitmap (*.BMP), no servidor.


TMSGraphic(): SaveToBMP (Obsoleto) ( [ cBmpName], [ cPathToWrite] ) --> lRet


 

NomeTipoDescriçãoObrigatórioReferência
cBmpNameCaracterIndica o nome da imagem que será salva.  
cPathToWriteCaracterIndica o diretório, no servidor, onde a imagem será armazenada.  

 

lRet
    (logico)
  • Retorna verdadeiro (.T.), se a imagem for salva com sucesso; caso contrário, retornará falso (.F.).

A gravação em disco somente gerará um arquivo fiel à imagem representação do gráfico após o mesmo já ter sido exibido em tela.

Este método está obsoleto. Desta forma, recomendamos que utilize o método SaveToImage.

Para mais informações, consulte a documentação do método SaveToImage.


oGraphic:SaveToBMP('Grafico.bmp','\web\')

SaveToImage

Salva o gráfico atual, no formato pré-determinado, no servidor.


TMSGraphic(): SaveToImage ( [ cBmpName], [ cPathToWrite], [ cTypeImage] ) --> lRet


 

NomeTipoDescriçãoObrigatórioReferência
cBmpNameCaracterIndica o nome da imagem que será salva.  
cPathToWriteCaracterIndica o diretório, no servidor, onde a imagem será armazenada.  
cTypeImageCaracterIndica o tipo (formato) da imagem. O formato padrão é JPEG (Joint Photographic Group).  

 

lRet
    (logico)
  • Retorna verdadeiro (.T.), se a imagem for salva com sucesso; caso contrário, retornará falso (.F.).

Método disponível a partir da build 7.00.060906P.

A gravação em disco somente gerará um arquivo fiel à imagem representação do gráfico após o mesmo já ter sido exibido em tela.


oGraphic:SaveToImage( "Imagem.png","\web\","PNG" )

SetLegenProp

Define as propriedades da legenda.


TMSGraphic(): SetLegenProp ( [ nAlign], [ nColor], [ nStyle], [ lVisible] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nAlignNuméricoIndica o alinhamento da legenda, sendo: GRP_SCRTOP 1, GRP_SCRLEFT 2, GRP_SCRBOTTOM 3, GRP_SCRRIGHT 4.  
nColorNuméricoIndica a cor da legenda.  
nStyleNuméricoIndica o estilo da legenda.  
lVisibleLógicoIndica se o título será visível (.T.) ou invisível (.F.).  

 


 

oGraphic:SetLegenProp(GRP_SCRRIGHT, CLR_LIGHTGRAY, GRP_AUTO,.T.)

SetMargins

Define as margens (superior, inferior e laterais) do gráfico.


TMSGraphic(): SetMargins ( [ nTop], [ nLeft], [ nBottom], [ nRight] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nTopNuméricoIndica a posição em relação ao topo do gráfico.  
nLeftNuméricoIndica a posição em relação à esquerda.  
nBottomNuméricoIndica a posição em relação ao rodapé.  
nRightNuméricoIndica a posição em relação à direita.  

 


Este método só atualiza o gráfico apos sua pintura em binários superiores a 120420A.  

oGraphic:SetMargins(2,6,6,6)

SetRangeY

Permite definir um intervalo de valores para o eixo Y do gráfico.


TMSGraphic(): SetRangeY ( < nMin>, < nMax>, < nDelta> ) -->


 

NomeTipoDescriçãoObrigatórioReferência
nMinNuméricoValor mínimo do intervalo para o eixo Y.X 
nMaxNuméricoValor máximo do intervalo para o eixo Y.X 
nDeltaNuméricoValor de incremento para o intervalo do eixo YX 

 


Este método não tem efeito para gráficos do tipo GRP_PIE.

oGraphic:SetRangeY(0, 300, 50)

SetTitle

Define a posição do título no gráfico.


TMSGraphic(): SetTitle ( [ cTitle], [ cTitle2], [ nColor], [ nAligment], [ lFoot] ) -->


 

NomeTipoDescriçãoObrigatórioReferência
cTitleCaracterIndica o primeiro título do gráfico.  
cTitle2CaracterIndica o segundo título do gráfico.  
nColorNuméricoIndica a cor do título.  
nAligmentNuméricoIndica o alinhamento do título no gráfico, sendo: A_LEFTJUST 1, A_RIGHTJUS 2, A_CENTER 3.  
lFootLógicoIndica se, verdadeiro (.T.), terá título no rodapé do gráfico; caso contrário, falso (.F.).  

 


 

oGraphic:SetTitle('Titulo do Grafico', "Data:"+dtoc(Date()), CLR_HRED, A_LEFTJUST, GRP_TITLE )

ZoomIn

Permite aumentar (ZoomIn) uma área interna (+).


TMSGraphic(): ZoomIn ( ) -->


 

oGraphic:ZoomIn()

ZoomOut

Permite diminuir (ZoomOut) uma área externa (-).


TMSGraphic(): ZoomOut ( ) -->


 

oGraphic:ZoomOut()

 

PropriedadeDescriçãoTipo
l3DIndica se, verdadeiro (.T.), o gráfico é 3D - tridimensional; caso contrário, falso (.F.).Lógico
lAxisVisibIndica se, verdadeiro (.T.), exibe os eixos do gráfico; caso contrário, falso (.F.). Esta opção esta desabilitada quando a série do Gráfico for GRP_PIE(Pizza).Lógico

 


Objetos da classe TMSGraphic necessitam obrigatoriamente de um cliente gráfico (totvssmartclient e/ou totvssmartclientativex) e não tem efeito se executado dentro de job.


#include "TOTVS.CH"    #include "MSGRAPHI.CH"User Function TMSGraphic() DEFINE DIALOG oDlg TITLE "Exemplo TMSGraphic" FROM 180,180 TO 550,700 PIXEL   // Cria o gráfico  oGraphic := TMSGraphic():New( 01,01,oDlg,,,RGB(239,239,239),260,184)    oGraphic:SetTitle('Titulo do Grafico', "Data:" + ;           dtoc(Date()), CLR_HRED, A_LEFTJUST, GRP_TITLE )  oGraphic:SetMargins(2,6,6,6)  oGraphic:SetLegenProp(GRP_SCRRIGHT, CLR_LIGHTGRAY, GRP_AUTO,.T.)  // Itens do Gráfico  nSerie := oGraphic:CreateSerie( GRP_PIE ) // GRP_PIE=10  oGraphic:Add(nSerie, 200, 'Item 01', CLR_HGREEN )  oGraphic:Add(nSerie, 180, 'Item 02', CLR_HRED  )  oGraphic:Add(nSerie, 210, 'Item 03', CLR_YELLOW ) ACTIVATE DIALOG oDlg CENTERED Return

Exemplo da classe TMSGraphic

Microsiga Protheus 8.11 , Microsiga Protheus 11 , Protheus 10 , TOTVS Application Server 10 , ByYou Application Server

 

  • Sem rótulos