Página 1 de 1

Usando dois gráficos (DRAW GRAPH) no mesmo Form

Enviado: 29 Nov 2018 13:36
por NiltonGM
Amigos,
Estou usando dois gráficos no mesmo Form, porem ao adicionar o segundo gráfico, o primeiro gráfico some os textos como Título, Valores, ficando apenas as barras. Se eu remover o segundo gráfico, então o primeiro volta ao normal. O que pode ser? Deixei espaço suficiente entre eles. Veja o código e a imagem.

Código: Selecionar todos

Procedure showGrafico_ctasReceber()

		//ERASE WINDOW finanGraficos  /* Essa linha ERASE, tanto faz comentada ou não, apenas pisca o gráfico, não entendi porque dela. */

		/* Primeiro gráfico - a esquerda */

		DRAW GRAPH ;
		IN WINDOW finanGraficos ;
		AT 180,10 ;
		TO 500,490 ;
		TITLE "Valores gerais" ;
		TYPE BARS ;
		SERIES fiGp_valoresGeral ;
		YVALUES {} ;
		DEPTH 15 ;
		BARWIDTH 15 ;
		HVALUES 1 ;
		SERIENAMES {"Receber","Pagar"} ;
		COLORS { {128,128,255}, {255,102, 10} } ;
		3DVIEW ;
		SHOWGRID ;
		SHOWXVALUES ;
		SHOWYVALUES ;
		SHOWLEGENDS ;
		NOBORDER

		/* Segundo gráfico - a direita */

		DRAW GRAPH ;
		IN WINDOW finanGraficos ;
		AT 180,560 ;
		TO 500,1040;
		TITLE "Valores por período" ;
		TYPE BARS ;
		SERIES fiGp_valoresPerio ;
		YVALUES {} ;
		DEPTH 15 ;
		BARWIDTH 15 ;
		HVALUES 1 ;
		SERIENAMES {"Receber","Pagar"} ;
		COLORS { {128,128,255}, {255,102, 10} } ;
		3DVIEW ;
		SHOWGRID ;
		SHOWXVALUES ;
		SHOWYVALUES ;
		SHOWLEGENDS ;
		NOBORDER

Return
finanGraph.png

Usando dois gráficos (DRAW GRAPH) no mesmo Form

Enviado: 30 Nov 2018 12:45
por NiltonGM
Resolvi o problema usando o "GRAPH BITMAP" que é bem semelhante e não dá problemas, acredito que o "DRAW GRAPH" esteja com "pau" e precisa de revisão, mas infelizmente nosso amigo Dr. Claudio saiu do grupo de releases do HMG.

Usando dois gráficos (DRAW GRAPH) no mesmo Form

Enviado: 03 Dez 2018 11:52
por JoséQuintas
Pelo nome: Graph Bitmap, a impressão é de que gera um bitmap com a imagem do gráfico.

Se DrawGraph usa a área total do controle, a saída seria criar dois controles no form, um pra cada gráfico.
Pelo menos teoricamente seria isso, na prática tem a ver com a LIB, e o que a função faz.

Usando dois gráficos (DRAW GRAPH) no mesmo Form

Enviado: 04 Dez 2018 11:30
por NiltonGM
É isso mesmo Zéh, ele gera e salva se vc quiser uma imagem do gráfico em BMP, JPG, PNG...

Código: Selecionar todos

PROCEDURE ProcSaveGraph()
LOCAL cFileName
LOCAL hBitmap := Form_1.Image_1.HBITMAP   // Gets the value of hBitmap from the IMAGE control
   IF hBitmap <> 0 .AND. Form_1.GraphType.VALUE > 0
      cFileName := "Graph_" + Form_1.GraphType.ITEM( Form_1.GraphType.VALUE ) + IIF( Form_1.Enable3D.VALUE, "3D", "2D") + ".PNG"
      BT_BitmapSaveFile( hBitmap, cFileName, BT_FILEFORMAT_PNG )
      MsgInfo( "Save as: " + cFileName )
   ENDIF
RETURN