Histórico da Página
Composition Setup |
---|
import.css=/download/attachments/327912/newLayout.css |
...
Pagetitle | ||
---|---|---|
|
...
|
...
|
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
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"
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 | ||||||
---|---|---|---|---|---|---|
|
Nota |
---|
Recomenda-se o uso da classe FWChart() desenvolvida pelo Framework. |
Hierarquia
- TSrvObject
- TControl
- TMSGraphic
- TMSGraphic
- TControl
Construtores
Inclusão de trecho | ||||||
---|---|---|---|---|---|---|
|
Métodos
Inclusão de trecho | ||||||
---|---|---|---|---|---|---|
|
Propriedades
Inclusão de trecho | ||||||
---|---|---|---|---|---|---|
|
Exemplo
Bloco de código | ||||
---|---|---|---|---|
| ||||
#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> ) -->
...
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()
Propriedade | Descrição | Tipo |
l3D | Indica se, verdadeiro (.T.), o gráfico é 3D - tridimensional; caso contrário, falso (.F.). | Lógico |
lAxisVisib | Indica 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
...