Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Composition Setup
import.css=/download/attachments/327912/newLayout.css

...

Pagetitle
Classe TMSGraphic

...

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

...

    oObjeto()
  • Retorna o objeto criado.
 
oGraphic := TMSGraphic():New( 01,01,oDlg,,,RGB(239,239,239),260,184)
Add

Add

Adiciona um item no gráfico.

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

...

 
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

...

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

...

nSerie := oGraphic:CreateSerie( 10 )

DelSerie

Exclui uma série do gráfico.

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

...

    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

Inclusão de trecho
advpl - deprecated
advpl - deprecated
nopaneltrue

Nota

Recomenda-se o uso da classe FWChart() desenvolvida pelo Framework.

Cria um objeto para apresentar gráfico.

Hierarquia

Construtores

Inclusão de trecho
Classe TMSgraphic - Construtores
Classe TMSgraphic - Construtores
nopaneltrue


Métodos

Inclusão de trecho
Classe TMSgraphic - Métodos
Classe TMSgraphic - Métodos
nopaneltrue


Propriedades

Inclusão de trecho
Classe TMSgraphic - Propriedades
Classe TMSgraphic - Propriedades
nopaneltrue


Exemplo

Bloco de código
firstline1
linenumberstrue
#INCLUDE "TOTVS.CH"
#INCLUDE "MSGRAPHI.CH"
 
user function exemplo()

   
oGraphic:DelSerie(nSerie)

SaveToBMP (Obsoleto)

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

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

...

    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

...

    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] ) -->

...

 
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] ) -->

...

 
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> ) -->

...

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] ) -->

...

 
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.

...

 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 ) 
 

...


    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

Preview

Exemplo da classe TMSGraphic
Image Removed

...

Image Added