Classe: TMSGraphicCria um objeto para apresentar gráfico. NewMétodo construtor da classe.TMSGraphic(): New ( [ nRow], [ nCol], [ oWnd], [ uParam4], [ uParam5], [ uParam6], [ nWidth], [ nHeight] ) --> oObjeto Nome | Tipo | Descrição | Obrigatório | Referência | nRow | Numérico | Indica a coordenada vertical em pixels. | | | nCol | Numérico | Indica a coordenada horizontal em pixels. | | | oWnd | Objeto | Indica a janela ou controle visual onde o objeto será criado. | | | uParam4 | Nulo | Compatibilidade. | | | uParam5 | Numérico | Compatibilidade. | | | uParam6 | Numérico | Compatibilidade. | | | nWidth | Numérico | Indica a largura em pixels do objeto. | | | nHeight | Numérico | Indica a altura em pixels do objeto. | | |
oObjeto()- Retorna o objeto criado.
oGraphic := TMSGraphic():New( 01,01,oDlg,,,RGB(239,239,239),260,184) AddAdiciona um item no gráfico.TMSGraphic(): Add ( [ nSerie], [ nVal], [ cLegend], [ nColor] ) --> Nome | Tipo | Descrição | Obrigatório | Referência | nSerie | Numérico | Indica a série que será incluída no item. | X | | nVal | Numérico | Indica o valor do item. | X | | cLegend | Caracter | Indica a legenda do item. | | | nColor | Numérico | Indica a cor do item. | X | |
nSerie := oGraphic:CreateSerie( 10 )oGraphic:Add(nSerie, 200, 'Item 01', CLR_HGREEN ) CreateSerieCria uma série para o gráfico.TMSGraphic(): CreateSerie ( [ nSerieType], [ cLegend], [ nDecimals], [ lShowValues] ) --> nRet Nome | Tipo | Descrição | Obrigatório | Referência | nSerieType | Numérico | Indica o tipo do gráfico, sendo: GRP_LINE 1, GRP_AREA 2, GRP_POINT 3, GRP_BAR 4, GRP_PIE 10. | X | | cLegend | Caracter | Indica a legenda da série. | | | nDecimals | Numérico | Indica o número de casas decimais dos valores. | | | lShowValues | Lógico | Indica se, verdadeiro (.T.), os valores serão apresentados; caso contrário, falso (.F.). | | |
nRet()- Retorna a quantidade de séries criadas.
nSerie := oGraphic:CreateSerie( 10 ) DelSerieExclui uma série do gráfico.TMSGraphic(): DelSerie ( [ nSerie] ) --> lRet Nome | Tipo | Descrição | Obrigatório | Referência | nSerie | Numérico | Indica a série que será excluída. | X | |
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)TMSGraphic(): SaveToBMP (Obsoleto) ( [ cBmpName], [ cPathToWrite] ) --> lRet Nome | Tipo | Descrição | Obrigatório | Referência | cBmpName | Caracter | Indica o nome da imagem que será salva. | X | | cPathToWrite | Caracter | Indica o diretório, no servidor, onde a imagem será armazenada. | X | |
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\') SaveToImageTMSGraphic(): SaveToImage ( [ cBmpName], [ cPathToWrite], [ cTypeImage] ) --> lRet Nome | Tipo | Descrição | Obrigatório | Referência | cBmpName | Caracter | Indica o nome da imagem que será salva. | X | | cPathToWrite | Caracter | Indica o diretório, no servidor, onde a imagem será armazenada. | X | | cTypeImage | Caracter | Indica o tipo (formato) da imagem. O formato padrão é JPEG (Joint Photographic Group). | X | |
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" ) SetLegenPropDefine as propriedades da legenda.TMSGraphic(): SetLegenProp ( [ nAlign], [ nColor], [ nStyle], [ lVisible] ) --> Nome | Tipo | Descrição | Obrigatório | Referência | nAlign | Numérico | Indica o alinhamento da legenda, sendo: GRP_SCRTOP 1, GRP_SCRLEFT 2, GRP_SCRBOTTOM 3, GRP_SCRRIGHT 4. | X | | nColor | Numérico | Indica a cor da legenda. | X | | nStyle | Numérico | Indica o estilo da legenda. | X | | lVisible | Lógico | Indica se o título será visível (.T.) ou invisível (.F.). | X | |
oGraphic:SetLegenProp(GRP_SCRRIGHT, CLR_LIGHTGRAY, GRP_AUTO,.T.) SetMarginsDefine as margens (superior, inferior e laterais) do gráfico.TMSGraphic(): SetMargins ( [ nTop], [ nLeft], [ nBottom], [ nRight] ) --> Nome | Tipo | Descrição | Obrigatório | Referência | nTop | Numérico | Indica a posição em relação ao topo do gráfico. | X | | nLeft | Numérico | Indica a posição em relação à esquerda. | X | | nBottom | Numérico | Indica a posição em relação ao rodapé. | X | | nRight | Numérico | Indica a posição em relação à direita. | X | |
Este método só atualiza o gráfico apos sua pintura em binários superiores a 120420A. oGraphic:SetMargins(2,6,6,6) SetRangeYPermite definir um intervalo de valores para o eixo Y do gráfico.TMSGraphic(): SetRangeY ( < nMin>, < nMax>, < nDelta> ) --> Nome | Tipo | Descrição | Obrigatório | Referência | nMin | Numérico | Valor mínimo do intervalo para o eixo Y. | X | | nMax | Numérico | Valor máximo do intervalo para o eixo Y. | X | | nDelta | Numérico | Valor de incremento para o intervalo do eixo Y | | |
Este método não tem efeito para gráficos do tipo GRP_PIE. oGraphic:SetRangeY(0, 300, 50) SetTitleDefine a posição do título no gráfico.TMSGraphic(): SetTitle ( [ cTitle], [ cTitle2], [ nColor], [ nAligment], [ lFoot] ) --> Nome | Tipo | Descrição | Obrigatório | Referência | cTitle | Caracter | Indica o primeiro título do gráfico. | | | cTitle2 | Caracter | Indica o segundo título do gráfico. | | | nColor | Numérico | Indica a cor do título. | X | | nAligment | Numérico | Indica o alinhamento do título no gráfico, sendo: A_LEFTJUST 1, A_RIGHTJUS 2, A_CENTER 3. | X | | lFoot | Lógico | Indica 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 ) ZoomInPermite aumentar (ZoomIn) uma área interna (+).TMSGraphic(): ZoomIn ( ) --> ZoomOutPermite diminuir (ZoomOut) uma área externa (-).TMSGraphic(): ZoomOut ( ) --> Propriedade | Descrição | Tipo | l3D | Indica se, verdadeiro (.T.), o gráfico é 3D - tridimensional; caso contrário, falso (.F.). Esta propriedade não é suportada pelo SmartClient HTML. | 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 |
Informações |
---|
| 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. No SmartClient HTML, os gráficos serão sempre desenhados em 2D, ignorando a propriedade l3D |
Bloco de código |
---|
theme | Eclipse |
---|
language | cpp |
---|
title | Exemplo |
---|
linenumbers | true |
---|
| #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 |